ZGlmZiAtLWdpdCBhL2ZwZGZzZGsvZnBkZl90ZXh0X2VtYmVkZGVydGVzdC5jcHAgYi9mcGRmc2RrL2ZwZGZfdGV4dF9lbWJlZGRlcnRlc3QuY3BwCmluZGV4IGNjNTQxY2MuLjhkYjA5NjkgMTAwNjQ0Ci0tLSBhL2ZwZGZzZGsvZnBkZl90ZXh0X2VtYmVkZGVydGVzdC5jcHAKKysrIGIvZnBkZnNkay9mcGRmX3RleHRfZW1iZWRkZXJ0ZXN0LmNwcApAQCAtMTY2MCwzICsxNjYwLDI4IEBACiAKICAgVW5sb2FkUGFnZShwYWdlKTsKIH0KKworVEVTVF9GKEZQREZUZXh0RW1iZWRkZXJUZXN0LCBCaWd0YWJsZVRleHRFeHRyYWN0aW9uKSB7CisgIGNvbnN0ZXhwciBjaGFyIGtFeHBlY3RlZFRleHRbXSA9CisgICAgICAie2ZheSxqZWZmLHNhbmpheSx3aWxzb25oLGtlcnIsbTNiLHR1c2hhcixceDAyayBlcyxncnViZXJ9QGdvb2dsZS5jb20iOworICBjb25zdGV4cHIgaW50IGtFeHBlY3RlZFRleHRDb3VudCA9IHBkZml1bTo6c2l6ZShrRXhwZWN0ZWRUZXh0KSAtIDE7CisKKyAgQVNTRVJUX1RSVUUoT3BlbkRvY3VtZW50KCJiaWd0YWJsZV9taW5pLnBkZiIpKTsKKyAgRlBERl9QQUdFIHBhZ2UgPSBMb2FkUGFnZSgwKTsKKyAgQVNTRVJUX1RSVUUocGFnZSk7CisKKyAgeworICAgIFNjb3BlZEZQREZUZXh0UGFnZSB0ZXh0X3BhZ2UoRlBERlRleHRfTG9hZFBhZ2UocGFnZSkpOworICAgIEFTU0VSVF9UUlVFKHRleHRfcGFnZSk7CisgICAgaW50IGNoYXJfY291bnQgPSBGUERGVGV4dF9Db3VudENoYXJzKHRleHRfcGFnZS5nZXQoKSk7CisgICAgQVNTRVJUX0dFKGNoYXJfY291bnQsIDApOworICAgIEFTU0VSVF9FUShrRXhwZWN0ZWRUZXh0Q291bnQsIGNoYXJfY291bnQpOworCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBrRXhwZWN0ZWRUZXh0Q291bnQ7ICsraSkgeworICAgICAgRVhQRUNUX0VRKHN0YXRpY19jYXN0PHVpbnQzMl90PihrRXhwZWN0ZWRUZXh0W2ldKSwKKyAgICAgICAgICAgICAgICBGUERGVGV4dF9HZXRVbmljb2RlKHRleHRfcGFnZS5nZXQoKSwgaSkpOworICAgIH0KKyAgfQorCisgIFVubG9hZFBhZ2UocGFnZSk7Cit9CmRpZmYgLS1naXQgYS90ZXN0aW5nL3Jlc291cmNlcy9iaWd0YWJsZV9taW5pLmluIGIvdGVzdGluZy9yZXNvdXJjZXMvYmlndGFibGVfbWluaS5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZTgwOTkyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdGluZy9yZXNvdXJjZXMvYmlndGFibGVfbWluaS5pbgpAQCAtMCwwICsxLDExMyBAQAore3toZWFkZXJ9fQore3tvYmplY3QgMSAwfX0gPDwKKyAgL1R5cGUgL0NhdGFsb2cKKyAgL1BhZ2VzIDIgMCBSCis+PgorZW5kb2JqCit7e29iamVjdCAyIDB9fSA8PAorICAvVHlwZSAvUGFnZXMKKyAgL0NvdW50IDEKKyAgL0tpZHMgWzMgMCBSXQorPj4KK2VuZG9iagore3tvYmplY3QgMyAwfX0gPDwKKyAgL1R5cGUgL1BhZ2UKKyAgL1BhcmVudCAyIDAgUgorICAvQ29udGVudHMgNCAwIFIKKyAgL01lZGlhQm94IFswIDAgNjEyIDc5Ml0KKyAgL1Jlc291cmNlcyA8PAorICAgIC9Qcm9jU2V0IFsvUERGIC9JbWFnZUIgL1RleHRdCisgICAgL0ZvbnQgPDwKKyAgICAgIC9GMSA1IDAgUgorICAgICAgL0YyIDYgMCBSCisgICAgPj4KKyAgPj4KKz4+CitlbmRvYmoKK3t7b2JqZWN0IDQgMH19IDw8CisgIHt7c3RyZWFtbGVufX0KKz4+CitzdHJlYW0KK3EgQlQKKzEgMCAwIDEgMjUwIDY2NyBUbQorL0YyIDguOTY2MzggVGYKKy0yNDMuNjM1IC0xNS44NCBUZAorKGYpVGoKKy9GMSA4Ljk2NjM4IFRmCis0LjU1NDkxIDAgVGQKKyhmKVRqCisyLjg3NDc2IDAgVGQKKyhheSlUagorNy43OTI1MyAwIFRkCisoLGplZilUagorMTEuNTA2IDAgVGQKKyhmLHNhbmpheSlUagorMjcuNDU1OCAwIFRkCisoLHdpbHNvbmgsaylUagorMzcuMTgwMSAwIFRkCisoZXJyKVRqCis5LjU4MzcyIDAgVGQKKygsbTNiLHR1c2hhcilUagorNDEuODUzNyAwIFRkCisoLAJrKVRqCisxMS42MzQ5IDAgVGQKKyhlcyxncnViZXIpVGoKKy9GMiA4Ljk2NjM4IFRmCiszMi45Njk0IDAgVGQKKyhnKVRqCisvRjEgOC45NjYzOCBUZgorNC41NTQ5MSAwIFRkCisoQGdvb2dsZS5jb20pVGoKK0VUIFEKK2VuZHN0cmVhbQorZW5kb2JqCit7e29iamVjdCA1IDB9fSA8PAorICAvVHlwZSAvRm9udAorICAvU3VidHlwZSAvVHlwZTEKKyAgL0Jhc2VGb250IC9UaW1lcy1Sb21hbgorPj4KK2VuZG9iagore3tvYmplY3QgNiAwfX0gPDwKKyAgL1R5cGUgL0ZvbnQKKyAgL1N1YnR5cGUgL1R5cGUxCisgIC9GaXJzdENoYXIgMTAyCisgIC9CYXNlRm9udCAvUkZTUUhRK0NNU1k5CisgIC9Gb250RGVzY3JpcHRvciA3IDAgUgorICAvTGFzdENoYXIgMTAzCisgIC9XaWR0aHMgWzUwOCA1MDhdCis+PgorZW5kb2JqCit7e29iamVjdCA3IDB9fSA8PAorICAvVHlwZSAvRm9udERlc2NyaXB0b3IKKyAgL0FzY2VudCA3NTAKKyAgL0NhcEhlaWdodCA3NTAKKyAgL0NoYXJTZXQgKC9icmFjZWxlZnQvYnJhY2VyaWdodCkKKyAgL0Rlc2NlbnQgLTI1MAorICAvRmxhZ3MgNAorICAvRm9udEJCb3ggWzAgLTI1MCA0NDAgNzUwXQorICAvRm9udEZpbGUzIDggMCBSCisgIC9Gb250TmFtZSAvUkZTUUhRK0NNU1k5CisgIC9JdGFsaWNBbmdsZSAwCisgIC9TdGVtViA2NQorPj4KK2VuZG9iagore3tvYmplY3QgOCAwfX0gPDwKKyAgL1N1YnR5cGUgL1R5cGUxQworICAvRmlsdGVyIFsvQVNDSUk4NURlY29kZSAvRmxhdGVEZWNvZGVdCisgIHt7c3RyZWFtbGVufX0KKz4+CitzdHJlYW0KK0doUVk8P3QhTVBBN1hhMUVYTkJMI2g0JWslP0BkdSNxNV81QilFZ2lvTCJwKXBLcyFqOUBfQSFYQG4iQSNecy9uciwwYVk/IWksNVI/Pm5BCis0M0JSdVRYI3QlNGVrRDJfY11wU2QqZz9JXyhkbVYtbzNrPDpWZXVwLFU1MCpZbHIuaTskYkhDYzpmZ2hlNUw+MWFcYDxGa3BUUjw4aEVkaQorLlNFSjo+TyVgTj4+U0xkPiw6KUdUOTxCQmEyI0wrUGE5VjEmQW8oIl5eUDwvIXUmUWw3UGhkWTlUNSM2SWVQR2lPZ09hTmRMc1JnKU9IaSsKK24rYS5mWy80XzdsbnA6T1hQKSU2WEVSIldLYDpDMiomRiVwbFtMXS9MSDBTI3JKazpTW2NvRWphQTBwPWxgQkk0QlBbJExDbjA5ODYyaktzCitZKUY3V14hNUIoaC5ba0RVWSoxV1xlQGw4bUUlTj9eOFJOMnFOVUNjZSFiV1BqTHRGOD00WmcsUiwxITpIUjZeVi9iXFRJaDBaYDExYGhaWgorKkJPJ1phMUNbcGgpZFNtPmFFIz5rLUEnX2g0KSFicUpEJGpqakAvX2J1KkJOPy5VZEBIVjBZJmwxVmckMUYpZV5dOjZFUjNJVihUYmoxO1MKK0Jwb3NRMERmL01EaVRjb1lPNEJTWVwmKiU8YUpzMTtKLzouPj8+JFVHNy1wc2VGKVIuVCdhO0AsUE41Qlhdc1dRZjwqbzZIOlJHWipmXlBqCitxa2QsKm1WQSMxbEFKZUhcJWQhKUdBbTNbJV9nQUY1T0I4bXI+KHBFXjVfRmpbaT8zQnEwWDcvRCk2RV0oYDlhX2dhVW9Lfj4KK2VuZHN0cmVhbQorZW5kb2JqCit7e3hyZWZ9fQore3t0cmFpbGVyfX0KK3t7c3RhcnR4cmVmfX0KKyUlRU9GCmRpZmYgLS1naXQgYS90ZXN0aW5nL3Jlc291cmNlcy9iaWd0YWJsZV9taW5pLnBkZiBiL3Rlc3RpbmcvcmVzb3VyY2VzL2JpZ3RhYmxlX21pbmkucGRmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkYjNlMDIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0aW5nL3Jlc291cmNlcy9iaWd0YWJsZV9taW5pLnBkZgpAQCAtMCwwICsxLDEyOCBAQAorJVBERi0xLjcKKyWg8qT0CisxIDAgb2JqIDw8CisgIC9UeXBlIC9DYXRhbG9nCisgIC9QYWdlcyAyIDAgUgorPj4KK2VuZG9iagorMiAwIG9iaiA8PAorICAvVHlwZSAvUGFnZXMKKyAgL0NvdW50IDEKKyAgL0tpZHMgWzMgMCBSXQorPj4KK2VuZG9iagorMyAwIG9iaiA8PAorICAvVHlwZSAvUGFnZQorICAvUGFyZW50IDIgMCBSCisgIC9Db250ZW50cyA0IDAgUgorICAvTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQorICAvUmVzb3VyY2VzIDw8CisgICAgL1Byb2NTZXQgWy9QREYgL0ltYWdlQiAvVGV4dF0KKyAgICAvRm9udCA8PAorICAgICAgL0YxIDUgMCBSCisgICAgICAvRjIgNiAwIFIKKyAgICA+PgorICA+PgorPj4KK2VuZG9iagorNCAwIG9iaiA8PAorICAvTGVuZ3RoIDM3NAorPj4KK3N0cmVhbQorcSBCVAorMSAwIDAgMSAyNTAgNjY3IFRtCisvRjIgOC45NjYzOCBUZgorLTI0My42MzUgLTE1Ljg0IFRkCisoZilUagorL0YxIDguOTY2MzggVGYKKzQuNTU0OTEgMCBUZAorKGYpVGoKKzIuODc0NzYgMCBUZAorKGF5KVRqCis3Ljc5MjUzIDAgVGQKKygsamVmKVRqCisxMS41MDYgMCBUZAorKGYsc2FuamF5KVRqCisyNy40NTU4IDAgVGQKKygsd2lsc29uaCxrKVRqCiszNy4xODAxIDAgVGQKKyhlcnIpVGoKKzkuNTgzNzIgMCBUZAorKCxtM2IsdHVzaGFyKVRqCis0MS44NTM3IDAgVGQKKygsAmspVGoKKzExLjYzNDkgMCBUZAorKGVzLGdydWJlcilUagorL0YyIDguOTY2MzggVGYKKzMyLjk2OTQgMCBUZAorKGcpVGoKKy9GMSA4Ljk2NjM4IFRmCis0LjU1NDkxIDAgVGQKKyhAZ29vZ2xlLmNvbSlUagorRVQgUQorZW5kc3RyZWFtCitlbmRvYmoKKzUgMCBvYmogPDwKKyAgL1R5cGUgL0ZvbnQKKyAgL1N1YnR5cGUgL1R5cGUxCisgIC9CYXNlRm9udCAvVGltZXMtUm9tYW4KKz4+CitlbmRvYmoKKzYgMCBvYmogPDwKKyAgL1R5cGUgL0ZvbnQKKyAgL1N1YnR5cGUgL1R5cGUxCisgIC9GaXJzdENoYXIgMTAyCisgIC9CYXNlRm9udCAvUkZTUUhRK0NNU1k5CisgIC9Gb250RGVzY3JpcHRvciA3IDAgUgorICAvTGFzdENoYXIgMTAzCisgIC9XaWR0aHMgWzUwOCA1MDhdCis+PgorZW5kb2JqCis3IDAgb2JqIDw8CisgIC9UeXBlIC9Gb250RGVzY3JpcHRvcgorICAvQXNjZW50IDc1MAorICAvQ2FwSGVpZ2h0IDc1MAorICAvQ2hhclNldCAoL2JyYWNlbGVmdC9icmFjZXJpZ2h0KQorICAvRGVzY2VudCAtMjUwCisgIC9GbGFncyA0CisgIC9Gb250QkJveCBbMCAtMjUwIDQ0MCA3NTBdCisgIC9Gb250RmlsZTMgOCAwIFIKKyAgL0ZvbnROYW1lIC9SRlNRSFErQ01TWTkKKyAgL0l0YWxpY0FuZ2xlIDAKKyAgL1N0ZW1WIDY1Cis+PgorZW5kb2JqCis4IDAgb2JqIDw8CisgIC9TdWJ0eXBlIC9UeXBlMUMKKyAgL0ZpbHRlciBbL0FTQ0lJODVEZWNvZGUgL0ZsYXRlRGVjb2RlXQorICAvTGVuZ3RoIDY0MAorPj4KK3N0cmVhbQorR2hRWTw/dCFNUEE3WGExRVhOQkwjaDQlayU/QGR1I3E1XzVCKUVnaW9MInApcEtzIWo5QF9BIVhAbiJBI15zL25yLDBhWT8haSw1Uj8+bkEKKzQzQlJ1VFgjdCU0ZWtEMl9jXXBTZCpnP0lfKGRtVi1vM2s8OlZldXAsVTUwKllsci5pOyRiSENjOmZnaGU1TD4xYVxgPEZrcFRSPDhoRWRpCisuU0VKOj5PJWBOPj5TTGQ+LDopR1Q5PEJCYTIjTCtQYTlWMSZBbygiXl5QPC8hdSZRbDdQaGRZOVQ1IzZJZVBHaU9nT2FOZExzUmcpT0hpKworbithLmZbLzRfN2xucDpPWFApJTZYRVIiV0tgOkMyKiZGJXBsW0xdL0xIMFMjckprOlNbY29FamFBMHA9bGBCSTRCUFskTENuMDk4NjJqS3MKK1kpRjdXXiE1QihoLltrRFVZKjFXXGVAbDhtRSVOP144Uk4ycU5VQ2NlIWJXUGpMdEY4PTRaZyxSLDEhOkhSNl5WL2JcVEloMFpgMTFgaFpaCisqQk8nWmExQ1twaClkU20+YUUjPmstQSdfaDQpIWJxSkQkampqQC9fYnUqQk4/LlVkQEhWMFkmbDFWZyQxRillXl06NkVSM0lWKFRiajE7UworQnBvc1EwRGYvTURpVGNvWU80QlNZXCYqJTxhSnMxO0ovOi4+Pz4kVUc3LXBzZUYpUi5UJ2E7QCxQTjVCWF1zV1FmPCpvNkg6UkdaKmZeUGoKK3FrZCwqbVZBIzFsQUplSFwlZCEpR0FtM1slX2dBRjVPQjhtcj4ocEVeNV9GaltpPzNCcTBYNy9EKTZFXShgOWFfZ2FVb0t+PgorZW5kc3RyZWFtCitlbmRvYmoKK3hyZWYKKzAgOQorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAxNSAwMDAwMCBuIAorMDAwMDAwMDA2OCAwMDAwMCBuIAorMDAwMDAwMDEzMSAwMDAwMCBuIAorMDAwMDAwMDMzMyAwMDAwMCBuIAorMDAwMDAwMDc1OSAwMDAwMCBuIAorMDAwMDAwMDgzNyAwMDAwMCBuIAorMDAwMDAwMDk5MyAwMDAwMCBuIAorMDAwMDAwMTIzNCAwMDAwMCBuIAordHJhaWxlciA8PAorICAvUm9vdCAxIDAgUgorICAvU2l6ZSA5Cis+Pgorc3RhcnR4cmVmCisxOTg1CislJUVPRgo=