From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Orphaned Packages Process To: git-commits@fedoraproject.org Subject: [rpms/lfsc] rawhide: Orphaned for 6+ weeks Date: Tue, 04 Aug 2026 22:04:38 GMT Message-ID: <178588107808.1.14161992752131807362.rpms-lfsc-e015494b7199@fedoraproject.org> List-ID: X-Git-Repo: rpms/lfsc X-Git-Branch: rawhide X-Git-Rev: e015494b71995a33cd04322f8424ad63ed2bb05c QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvbGZzYwpCcmFuY2gg OiByYXdoaWRlCkNvbW1pdCA6IGUwMTU0OTRiNzE5OTVhMzNjZDA0MzIyZjg0MjRhZDYzZWQyYmIw NWMKQXV0aG9yIDogT3JwaGFuZWQgUGFja2FnZXMgUHJvY2VzcyA8cGFja2FnaW5nLXJlcG9ydHNA ZmVkb3JhcHJvamVjdC5vcmc+CkRhdGUgICA6IDIwMjYtMDgtMDRUMTc6MDQ6MzMtMDU6MDAKU3Rh dHMgIDogKzEvLTI5ODUgaW4gMTUgZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFw cm9qZWN0Lm9yZy9ycG1zL2xmc2MvYy9lMDE1NDk0YjcxOTk1YTMzY2QwNDMyMmY4NDI0YWQ2M2Vk MmJiMDVjP2JyYW5jaD1yYXdoaWRlCgpMb2c6Ck9ycGhhbmVkIGZvciA2KyB3ZWVrcwoKLS0tCmRp ZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggZjI3ZGY1Ni4uMDAwMDAwMAotLS0gYS8uZ2l0aWdub3JlCisrKyAvZGV2L251bGwK QEAgLTEgKzAsMCBAQAotL2xmc2MtKi50YXIuZ3oKCmRpZmYgLS1naXQgYS9SRUFETUUubWQgYi9S RUFETUUubWQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAyZWUyODAuLjAwMDAwMDAK LS0tIGEvUkVBRE1FLm1kCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0jIGxmc2MKLQot W0xGU0NdKGh0dHBzOi8vZ2l0aHViLmNvbS9jdmM1L0xGU0MpIGlzIGFuCi1bU01UXShodHRwczov L2VuLndpa2lwZWRpYS5vcmcvd2lraS9TYXRpc2ZpYWJpbGl0eV9tb2R1bG9fdGhlb3JpZXMpIHBy b29mCi1jaGVja2VyLgoKZGlmZiAtLWdpdCBhL2NvbG9yX2Jhc2UucGxmIGIvY29sb3JfYmFzZS5w bGYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU3MzRjZmYuLjAwMDAwMDAKLS0tIGEv Y29sb3JfYmFzZS5wbGYKKysrIC9kZXYvbnVsbApAQCAtMSw2MiArMCwwIEBACi0oZGVjbGFyZSBj b2xvciB0eXBlKQ0KLShkZWNsYXJlIEEgY29sb3IpDQotKGRlY2xhcmUgQiBjb2xvcikNCi0NCi07 IGZvcm11bGEgZiBpcyBhbiBpbnRlcnBvbGFudCBmb3IgKEEsQikNCi0oZGVjbGFyZSBpbnRlcnBv bGFudCAoISBmIGZvcm11bGEgdHlwZSkpDQotDQotOyBpbnB1dCBmb3JtdWxhIGYgaXMgZnJvbSAi YyIsIHdoZXJlIGMgaXMgQXxCDQotKGRlY2xhcmUgY29sb3JfYXRvbSAoISBjIGNvbG9yICghIGYg Zm9ybXVsYSB0eXBlKSkpDQotDQotOyBzaW1wbGlmeSBpbnRlcnBvbGFudA0KLSAgICANCi0ocHJv Z3JhbSBzaW1wbGlmeV9mICgoZiBmb3JtdWxhKSkgZm9ybXVsYQ0KLSAgKG1hdGNoIGYgDQotICAg ICgoYW5kIGYxIGYyKSANCi0gICAgICAobGV0IGYxJyAoc2ltcGxpZnlfZiBmMSkNCi0gICAgICAo bWF0Y2ggZjEnDQotICAgICAgICAodHJ1ZSAoc2ltcGxpZnlfZiBmMikpDQotICAgICAgICAoZmFs c2UgZmFsc2UpDQotICAgICAgICAoZGVmYXVsdCANCi0gICAgICAgICAgKGxldCBmMicgKHNpbXBs aWZ5X2YgZjIpDQotICAgICAgICAgIChtYXRjaCBmMicNCi0gICAgICAgICAgICAodHJ1ZSBmMScp DQotICAgICAgICAgICAgKGZhbHNlIGZhbHNlKQ0KLSAgICAgICAgICAgIChkZWZhdWx0IChhbmQg ZjEnIGYyJykpKSkpKSkpDQotICAgICgob3IgZjEgZjIpIA0KLSAgICAgIChsZXQgZjEnIChzaW1w bGlmeV9mIGYxKQ0KLSAgICAgIChtYXRjaCBmMScNCi0gICAgICAgICh0cnVlIHRydWUpDQotICAg ICAgICAoZmFsc2UgKHNpbXBsaWZ5X2YgZjIpKQ0KLSAgICAgICAgKGRlZmF1bHQgDQotICAgICAg ICAgIChsZXQgZjInIChzaW1wbGlmeV9mIGYyKQ0KLSAgICAgICAgICAobWF0Y2ggZjInDQotICAg ICAgICAgICAgKHRydWUgdHJ1ZSkNCi0gICAgICAgICAgICAoZmFsc2UgZjEnKQ0KLSAgICAgICAg ICAgIChkZWZhdWx0IChvciBmMScgZjInKSkpKSkpKSkNCi0gICAgKChpbXBsIGYxIGYyKSANCi0g ICAgICAobGV0IGYxJyAoc2ltcGxpZnlfZiBmMSkNCi0gICAgICAobWF0Y2ggZjEnDQotICAgICAg ICAodHJ1ZSAoc2ltcGxpZnlfZiBmMikpDQotICAgICAgICAoZmFsc2UgdHJ1ZSkNCi0gICAgICAg IChkZWZhdWx0IA0KLSAgICAgICAgICAobGV0IGYyJyAoc2ltcGxpZnlfZiBmMikNCi0gICAgICAg ICAgKG1hdGNoIGYyJw0KLSAgICAgICAgICAgICh0cnVlIHRydWUpDQotICAgICAgICAgICAgKGZh bHNlIChtYXRjaCBmMScNCi0gICAgICAgICAgICAgICAgICAgICAoKG5vdCBmMScnKSBmMScnKQ0K LSAgICAgICAgICAgICAgICAgICAgIChkZWZhdWx0IChub3QgZjEnKSkpKQ0KLSAgICAgICAgICAg IChkZWZhdWx0IChpbXBsIGYxJyBmMicpKSkpKSkpKQ0KLSAgICAoKG5vdCBmMSkNCi0gICAgICAo bGV0IGYxJyAoc2ltcGxpZnlfZiBmMSkNCi0gICAgICAobWF0Y2ggZjEnDQotICAgICAgICAoKG5v dCBmMScnKSBmMScnKQ0KLSAgICAgICAgKGRlZmF1bHQgKG5vdCBmMScpKSkpKQ0KLSAgICAoZGVm YXVsdCBmKSkpDQotICAgIA0KLShkZWNsYXJlIHNpbXBsaWZ5X2ludGVycG9sYW50DQotICAoISBm IGZvcm11bGENCi0gICghIGYnIGZvcm11bGENCi0gICghIGkgKGludGVycG9sYW50IGYpDQotICAo ISB1ICheIChzaW1wbGlmeV9mIGYpIGYnKQ0KLSAgICAoaW50ZXJwb2xhbnQgZicpKSkpKSkNCgpk aWZmIC0tZ2l0IGEvY29sb3JfZXVmLnBsZiBiL2NvbG9yX2V1Zi5wbGYKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDliMGNkMTAuLjAwMDAwMDAKLS0tIGEvY29sb3JfZXVmLnBsZgorKysg L2Rldi9udWxsCkBAIC0xLDEwMyArMCwwIEBACi07IHNpZGUgY29uZGl0aW9ucw0KLQ0KLShwcm9n cmFtIGNvbG9yX21hcmsgKCh0IHRlcm0pIChjIGNvbG9yKSkgYm9vbA0KLSAgKG1hdGNoIHQNCi0g ICAgKChhcHBseSBzMSBzMiB0MSB0MikgDQotICAgICAgKGRvIChjb2xvcl9tYXJrIHQxIGMpDQot ICAgICAgICAgIChjb2xvcl9tYXJrIHQyIGMpKSkNCi0gICAgKGRlZmF1bHQgDQotICAgICAgKGRv IChtYXRjaCBjDQotICAgICAgICAgICAgKEEgKGlmbWFya2VkNSB0IHQgKG1hcmt2YXI1IHQpKSkN Ci0gICAgICAgICAgICAoQiAoaWZtYXJrZWQ2IHQgdCAobWFya3ZhcjYgdCkpKSkgdHQpKSkpDQot DQotKHByb2dyYW0gY29sb3JfbWFya19mb3JtdWxhICgoZiBmb3JtdWxhKSAoYyBjb2xvcikpIGJv b2wNCi0gIChtYXRjaCBmIA0KLSAgICAoKD0gcyB0MSB0MikgKGRvIChjb2xvcl9tYXJrIHQxIGMp IChjb2xvcl9tYXJrIHQyIGMpKSkNCi0gICAgKChkaXN0aW5jdCBzIHQxIHQyKSAoZG8gKGNvbG9y X21hcmsgdDEgYykgKGNvbG9yX21hcmsgdDIgYykpKSkpDQotDQotKHByb2dyYW0gaXNfY29sb3Jf bWFya2VkICgodCB0ZXJtKSAoYyBjb2xvcikpIGJvb2wNCi0gIChtYXRjaCB0DQotICAgICgoYXBw bHkgczEgczIgdDEgdDIpIA0KLSAgICAgIChtYXRjaCAoaXNfY29sb3JfbWFya2VkIHQxIGMpDQot ICAgICAgICAodHQgKGlzX2NvbG9yX21hcmtlZCB0MiBjKSkNCi0gICAgICAgIChmZiBmZikpKQ0K LSAgICAoZGVmYXVsdCANCi0gICAgICAobWF0Y2ggYw0KLSAgICAgICAgKEEgKGlmbWFya2VkNSB0 IHR0IGZmKSkNCi0gICAgICAgIChCIChpZm1hcmtlZDYgdCB0dCBmZikpKSkpKQ0KLSAgICAgICAg DQotOyBpbnRyb2R1Y2UgYSBjb2xvciBhdG9tDQotDQotKGRlY2xhcmUgY2F0b21faW50cm8NCi0g ICghIGZpIGZvcm11bGENCi0gICghIGMgY29sb3INCi0gICghIGYgZm9ybXVsYQ0KLSAgKCEgciAo XiAoY29sb3JfbWFya19mb3JtdWxhIGYgYykgdHQpDQotICAoISB1JyAoISBhJyAoY29sb3JfYXRv bSBjIGYpDQotICAgICAgICAgIChpbnRlcnBvbGFudCBmaSkpDQotICAgIChpbnRlcnBvbGFudCBm aSkpKSkpKSkNCi0NCi07IHJ1bGVzIGZvciB0ZXJtIGNvbG9yYWJpbGl0eQ0KLQ0KLShkZWNsYXJl IGNvbG9yYWJsZSAoISBjIGNvbG9yICghIHMgc29ydCAoISB0ICh0ZXJtIHMpIHR5cGUpKSkpDQot ICAgIA0KLTsgY29sb3JhYmxlIGxldA0KLShkZWNsYXJlIGNvbG9yYWJsZV9pbnRybw0KLSAgKCEg YyBjb2xvcg0KLSAgKCEgcyBzb3J0DQotICAoISB0ICh0ZXJtIHMpDQotICAoISBmIGZvcm11bGEN Ci0gICghIHUgKGNvbG9yYWJsZSBjIHMgdCkNCi0gICghIHUnICghIHYgKGNvbG9yYWJsZSBjIHMg dCkgKGludGVycG9sYW50IGYpKQ0KLSAgICAoaW50ZXJwb2xhbnQgZikpKSkpKSkpDQotDQotOyBp bnRyb2R1Y2UgYSBjb2xvcmFibGUNCi0NCi0oZGVjbGFyZSBjb2xvcmFibGVfYmFzZQ0KLSAgKCEg cyBzb3J0DQotICAoISBjIGNvbG9yDQotICAoISB0ICh0ZXJtIHMpDQotICAoISByICheIChpc19j b2xvcl9tYXJrZWQgdCBjKSB0dCkNCi0gICAgKGNvbG9yYWJsZSBjIHMgdCkpKSkpKQ0KLQ0KLShk ZWNsYXJlIGNvbG9yYWJsZV9hcHBseQ0KLSAgKCEgczEgc29ydA0KLSAgKCEgczIgc29ydA0KLSAg KCEgdCAodGVybSBzMSkNCi0gICghIGYgKHRlcm0gKGFycm93IHMxIHMyKSkNCi0gICghIGMgY29s b3INCi0gICghIGMxIChjb2xvcmFibGUgYyBzMSB0KQ0KLSAgKCEgYzIgKGNvbG9yYWJsZSBjIChh cnJvdyBzMSBzMikgZikNCi0gICAgKGNvbG9yYWJsZSBjIHMyIChhcHBseSBzMSBzMiBmIHQpKSkp KSkpKSkpKQ0KLQ0KLTsgcnVsZXMgZm9yIGNvbG9yYWJsZSBhdG9tcw0KLQ0KLShkZWNsYXJlIGNh dG9tX3JlZmwNCi0gICghIHMgc29ydA0KLSAgKCEgdCAodGVybSBzKQ0KLSAgKCEgYyBjb2xvcg0K LSAgKCEgYzEgKGNvbG9yYWJsZSBjIHMgdCkNCi0gICAgKGNvbG9yX2F0b20gYyAoPSBzIHQgdCkp KSkpKSkNCi0NCi0oZGVjbGFyZSBjYXRvbV9zeW1tX2VxDQotICAoISBjIGNvbG9yDQotICAoISBz IHNvcnQNCi0gICghIHQxICh0ZXJtIHMpDQotICAoISB0MiAodGVybSBzKQ0KLSAgKCEgdSAoY29s b3JfYXRvbSBjICg9IHMgdDEgdDIpKQ0KLSAgICAoY29sb3JfYXRvbSBjICg9IHMgdDIgdDEpKSkp KSkpKQ0KLQ0KLShkZWNsYXJlIGNhdG9tX3N5bW1fZGlzdGluY3QNCi0gICghIGMgY29sb3INCi0g ICghIHMgc29ydA0KLSAgKCEgdDEgKHRlcm0gcykNCi0gICghIHQyICh0ZXJtIHMpDQotICAoISB1 IChjb2xvcl9hdG9tIGMgKGRpc3RpbmN0IHMgdDEgdDIpKQ0KLSAgICAoY29sb3JfYXRvbSBjIChk aXN0aW5jdCBzIHQyIHQxKSkpKSkpKSkNCi0NCi07IHRoaXMgaXMgcHJvYmFibHkgbm90IG5lY2Vz c2FyeQ0KLTsoZGVjbGFyZSBjYXRvbV91bmNvbG9yDQotOyAgKCEgYyBjb2xvcg0KLTsgICghIGYg Zm9ybXVsYQ0KLTsgICghIHUgKGNvbG9yX2F0b20gYyBmKQ0KLTsgICAgKHRoX2hvbGRzIGYpKSkp KQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKCmRpZmYgLS1naXQgYS9kZWFkLnBhY2thZ2Ug Yi9kZWFkLnBhY2thZ2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTIwNGE4 NAotLS0gL2Rldi9udWxsCisrKyBiL2RlYWQucGFja2FnZQpAQCAtMCwwICsxIEBACitPcnBoYW5l ZCBmb3IgNisgd2Vla3MKCmRpZmYgLS1naXQgYS9ldWZfaW50ZXJwb2xhdGlvbi5wbGYgYi9ldWZf aW50ZXJwb2xhdGlvbi5wbGYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEwNmE0NDcu LjAwMDAwMDAKLS0tIGEvZXVmX2ludGVycG9sYXRpb24ucGxmCisrKyAvZGV2L251bGwKQEAgLTEs Mjg3ICswLDAgQEAKLTsgZiBpcyB0aGUgQi1wcmVtaXNlIHNldCBmb3IgQS1wYXRoIHQxLi4udDIN Ci0oZGVjbGFyZSBicHNfQSANCi0gICghIHMgc29ydCANCi0gICghIHQxICh0ZXJtIHMpIA0KLSAg KCEgdDIgKHRlcm0gcykgDQotICAoISBmIGZvcm11bGENCi0gICghIGZpIGZvcm11bGENCi0gICAg dHlwZSkpKSkpKQ0KLSAgICANCi0oZGVjbGFyZSBicHNfQV9kZXJpdmVkDQotICAoISBzIHNvcnQg DQotICAoISB0MSAodGVybSBzKSANCi0gICghIHQyICh0ZXJtIHMpIA0KLSAgKCEgZiBmb3JtdWxh DQotICAoISBmaSBmb3JtdWxhDQotICAgIHR5cGUpKSkpKSkNCi0gICAgDQotOyBmIGlzIHRoZSBC LXByZW1pc2Ugc2V0IGZvciBjLWVuZGVkIGNoYWluIHQxLi4udDINCi0oZGVjbGFyZSBicHMNCi0g ICghIHMgc29ydCANCi0gICghIHQxICh0ZXJtIHMpIA0KLSAgKCEgdDIgKHRlcm0gcykgDQotICAo ISBjIGNvbG9yDQotICAoISBmIGZvcm11bGENCi0gICghIGZpIGZvcm11bGENCi0gICAgdHlwZSkp KSkpKSkNCi0gICAgDQotOyBmIGlzIHRoZSBwYXJ0aWFsIGludGVycG9sYW50IGZvciBCLWNoYWlu IHQxLi4udDINCi0oZGVjbGFyZSBwdGlfQg0KLSAgKCEgcyBzb3J0DQotICAoISB0MSAodGVybSBz KSANCi0gICghIHQyICh0ZXJtIHMpIA0KLSAgKCEgZiBmb3JtdWxhDQotICAgIHR5cGUpKSkpKQ0K LSAgICANCi0oZGVjbGFyZSBwdGlfQl9kZXJpdmVkDQotICAoISBzIHNvcnQNCi0gICghIHQxICh0 ZXJtIHMpIA0KLSAgKCEgdDIgKHRlcm0gcykgDQotICAoISBmIGZvcm11bGENCi0gICAgdHlwZSkp KSkpDQotDQotOyBmIGlzIHRoZSBwYXJ0aWFsIGludGVycG9sYW50IGZvciB0aGUgYy1lbmRlZCBj aGFpbiB0MS4uLnQyDQotKGRlY2xhcmUgcHRpDQotICAoISBzIHNvcnQgDQotICAoISB0MSAodGVy bSBzKSANCi0gICghIHQyICh0ZXJtIHMpIA0KLSAgKCEgYyBjb2xvcg0KLSAgKCEgZiBmb3JtdWxh DQotICAgIHR5cGUpKSkpKSkNCi0NCi07IGJwc19BIHJ1bGVzDQotDQotKGRlY2xhcmUgYmFzZUEN Ci0gICghIHMgc29ydA0KLSAgKCEgdDEgKHRlcm0gcykNCi0gICghIHQyICh0ZXJtIHMpDQotICAo ISBjMSAoY29sb3JfYXRvbSBBICg9IHMgdDEgdDIpKQ0KLSAgICAoYnBzX0EgcyB0MSB0MiB0cnVl IHRydWUpKSkpKSkNCi0gICAgDQotKGRlY2xhcmUgc2ltcEENCi0gICghIHMgc29ydA0KLSAgKCEg dDEgKHRlcm0gcykNCi0gICghIHQyICh0ZXJtIHMpDQotICAoISB0MyAodGVybSBzKQ0KLSAgKCEg ZiBmb3JtdWxhDQotICAoISBmaSBmb3JtdWxhDQotICAoISBiIChicHNfQSBzIHQxIHQyIGYgZmkp DQotICAoISB1IChjb2xvcl9hdG9tIEEgKD0gcyB0MiB0MykpDQotICAgIChicHNfQSBzIHQxIHQz IGYgZmkpKSkpKSkpKSkpDQotDQotKGRlY2xhcmUgZHJ2QQ0KLSAgKCEgcyBzb3J0DQotICAoISB0 MSAodGVybSBzKQ0KLSAgKCEgdDIgKHRlcm0gcykNCi0gICghIHQzICh0ZXJtIHMpDQotICAoISBm IGZvcm11bGENCi0gICghIGZpIGZvcm11bGENCi0gICghIGZjIGZvcm11bGENCi0gICghIGZjaSBm b3JtdWxhDQotICAoISBiIChicHNfQSBzIHQxIHQyIGYgZmkpDQotICAoISBiYyAoYnBzX0FfZGVy aXZlZCBzIHQyIHQzIGZjIGZjaSkNCi0gICghIHUgKGNvbG9yYWJsZSBBIHMgdDMpDQotICAgIChi cHNfQSBzIHQxIHQzIChhbmQgZiBmYykgKGFuZCBmaSBmY2kpKSkpKSkpKSkpKSkpKQ0KLSAgICAN Ci0oZGVjbGFyZSBjb25nQTANCi0gICghIHMgc29ydA0KLSAgKCEgZiAodGVybSBzKQ0KLSAgICAo YnBzX0FfZGVyaXZlZCBzIGYgZiB0cnVlIHRydWUpKSkpDQotICAgIA0KLShkZWNsYXJlIGNvbmdB DQotICAoISBzMSBzb3J0DQotICAoISBzMiBzb3J0DQotICAoISB0MSAodGVybSBzMSkNCi0gICgh IHQyICh0ZXJtIHMxKQ0KLSAgKCEgZjEgKHRlcm0gKGFycm93IHMxIHMyKSkNCi0gICghIGYyICh0 ZXJtIChhcnJvdyBzMSBzMikpDQotICAoISBjIGNvbG9yDQotICAoISBmIGZvcm11bGENCi0gICgh IGZpIGZvcm11bGENCi0gICghIGZjIGZvcm11bGENCi0gICghIGZjaSBmb3JtdWxhDQotICAoISB1 MSAoYnBzX0FfZGVyaXZlZCAoYXJyb3cgczEgczIpIGYxIGYyIGZjIGZjaSkNCi0gICghIHUyIChi cHMgczEgdDEgdDIgYyBmIGZpKQ0KLSAgICAoYnBzX0FfZGVyaXZlZCBzMiAoYXBwbHkgczEgczIg ZjEgdDEpIChhcHBseSBzMSBzMiBmMiB0MikgKGFuZCBmYyBmKSAoYW5kIGZjaSBmaSkpKSkpKSkp KSkpKSkpKSkNCi0NCi07IGZvciBvcHRpbWl6YXRpb24NCi0oZGVjbGFyZSBjb25nQV90DQotICAo ISBzMSBzb3J0DQotICAoISBzMiBzb3J0DQotICAoISBmMSAodGVybSAoYXJyb3cgczEgczIpKQ0K LSAgKCEgZjIgKHRlcm0gKGFycm93IHMxIHMyKSkNCi0gICghIGZjIGZvcm11bGENCi0gICghIGZj aSBmb3JtdWxhDQotICAoISBiIChicHNfQV9kZXJpdmVkIChhcnJvdyBzMSBzMikgZjEgZjIgZmMg ZmNpKQ0KLSAgKCEgdCAgKHRlcm0gczEpDQotICAgIChicHNfQV9kZXJpdmVkIHMyIChhcHBseSBz MSBzMiBmMSB0KSAoYXBwbHkgczEgczIgZjIgdCkgZmMgZmNpKSkpKSkpKSkpKQ0KLQ0KLTsgYnBz IHJ1bGVzDQotDQotKGRlY2xhcmUgYnBzX2Jhc2VBIA0KLSAgKCEgcyBzb3J0IA0KLSAgKCEgdDEg KHRlcm0gcykgDQotICAoISB0MiAodGVybSBzKSANCi0gICghIGYgZm9ybXVsYQ0KLSAgKCEgZmkg Zm9ybXVsYQ0KLSAgKCEgYiAoYnBzX0EgcyB0MSB0MiBmIGZpKQ0KLSAgICAoYnBzIHMgdDEgdDIg QSBmIGZpKSkpKSkpKSkNCi0NCi0oZGVjbGFyZSBicHNfYmFzZUINCi0gICghIHMgc29ydCANCi0g ICghIHQxICh0ZXJtIHMpIA0KLSAgKCEgdDIgKHRlcm0gcykgDQotICAoISBmIGZvcm11bGENCi0g ICghIGIgKHB0aV9CIHMgdDEgdDIgZikNCi0gICAgKGJwcyBzIHQxIHQyIEIgKD0gcyB0MSB0Mikg ZikpKSkpKSkNCi0NCi0oZGVjbGFyZSBicHNfYXBwQQ0KLSAgKCEgcyBzb3J0DQotICAoISB0MSAo dGVybSBzKQ0KLSAgKCEgdDIgKHRlcm0gcykNCi0gICghIHQzICh0ZXJtIHMpDQotICAoISBmMSBm b3JtdWxhDQotICAoISBmMWkgZm9ybXVsYQ0KLSAgKCEgZjIgZm9ybXVsYQ0KLSAgKCEgZjJpIGZv cm11bGENCi0gICghIGIxIChicHMgcyB0MSB0MiBCIGYxIGYxaSkNCi0gICghIGIyIChicHNfQSBz IHQyIHQzIGYyIGYyaSkNCi0gICAgKGJwcyBzIHQxIHQzIEEgKGFuZCBmMSBmMikgKGFuZCBmMWkg ZjJpKSkpKSkpKSkpKSkpKQ0KLSAgICANCi0oZGVjbGFyZSBicHNfYXBwQg0KLSAgKCEgcyBzb3J0 DQotICAoISB0MSAodGVybSBzKQ0KLSAgKCEgdDIgKHRlcm0gcykNCi0gICghIHQzICh0ZXJtIHMp DQotICAoISBmMSBmb3JtdWxhDQotICAoISBmMWkgZm9ybXVsYQ0KLSAgKCEgZjJpIGZvcm11bGEN Ci0gICghIGIxIChicHMgcyB0MSB0MiBBIGYxIGYxaSkNCi0gICghIGIyIChwdGlfQiBzIHQyIHQz IGYyaSkNCi0gICAgKGJwcyBzIHQxIHQzIEIgKGFuZCBmMSAoPSBzIHQyIHQzKSkgKGFuZCBmMWkg ZjJpKSkpKSkpKSkpKSkpDQotDQotOyBydWxlcyBmb3IgQiBwYXJ0aWFsIGludGVycG9sYW50cw0K LQ0KLShkZWNsYXJlIGJhc2VCDQotICAoISBzIHNvcnQNCi0gICghIHQxICh0ZXJtIHMpDQotICAo ISB0MiAodGVybSBzKQ0KLSAgKCEgdSAoY29sb3JfYXRvbSBCICg9IHMgdDEgdDIpKQ0KLSAgICAo cHRpX0IgcyB0MSB0MiB0cnVlKSkpKSkpDQotICAgIA0KLShkZWNsYXJlIHNpbXBCDQotICAoISBz IHNvcnQgDQotICAoISB0MSAodGVybSBzKSANCi0gICghIHQyICh0ZXJtIHMpIA0KLSAgKCEgdDMg KHRlcm0gcykNCi0gICghIGYgZm9ybXVsYQ0KLSAgKCEgaSAocHRpX0IgcyB0MSB0MiBmKQ0KLSAg KCEgdSAoY29sb3JfYXRvbSBCICg9IHMgdDIgdDMpKQ0KLSAgICAocHRpX0IgcyB0MSB0MyBmKSkp KSkpKSkpDQotICAgIA0KLShkZWNsYXJlIGRydkINCi0gICghIHMgc29ydCANCi0gICghIHQxICh0 ZXJtIHMpIA0KLSAgKCEgdDIgKHRlcm0gcykgDQotICAoISB0MyAodGVybSBzKQ0KLSAgKCEgZiBm b3JtdWxhDQotICAoISBmYyBmb3JtdWxhDQotICAoISBpIChwdGlfQiBzIHQxIHQyIGYpDQotICAo ISB1IChwdGlfQl9kZXJpdmVkIHMgdDIgdDMgZmMpDQotICAoISBjIChjb2xvcmFibGUgQiBzIHQz KQ0KLSAgICAocHRpX0IgcyB0MSB0MyAoYW5kIGYgZmMpKSkpKSkpKSkpKSkNCi0NCi0oZGVjbGFy ZSBjb25nQjANCi0gICghIHMgc29ydA0KLSAgKCEgZiAodGVybSBzKQ0KLSAgICAocHRpX0JfZGVy aXZlZCBzIGYgZiB0cnVlKSkpKQ0KLSAgICANCi0oZGVjbGFyZSBjb25nQg0KLSAgKCEgczEgc29y dA0KLSAgKCEgczIgc29ydA0KLSAgKCEgZjEgKHRlcm0gKGFycm93IHMxIHMyKSkNCi0gICghIGYy ICh0ZXJtIChhcnJvdyBzMSBzMikpDQotICAoISB0MSAodGVybSBzMSkNCi0gICghIHQyICh0ZXJt IHMxKQ0KLSAgKCEgYyBjb2xvcg0KLSAgKCEgZiBmb3JtdWxhDQotICAoISBmYyBmb3JtdWxhDQot ICAoISB1MSAocHRpX0JfZGVyaXZlZCAoYXJyb3cgczEgczIpIGYxIGYyIGZjKQ0KLSAgKCEgdTIg KHB0aSBzMSB0MSB0MiBjIGYpDQotICAgIChwdGlfQl9kZXJpdmVkIHMyIChhcHBseSBzMSBzMiBm MSB0MSkgKGFwcGx5IHMxIHMyIGYyIHQyKSAoYW5kIGZjIGYpKSkpKSkpKSkpKSkpKQ0KLQ0KLTsg Zm9yIG9wdGltaXphdGlvbg0KLShkZWNsYXJlIGNvbmdCX3QNCi0gICghIHMxIHNvcnQNCi0gICgh IHMyIHNvcnQNCi0gICghIGYxICh0ZXJtIChhcnJvdyBzMSBzMikpDQotICAoISBmMiAodGVybSAo YXJyb3cgczEgczIpKQ0KLSAgKCEgZmMgZm9ybXVsYQ0KLSAgKCEgYiAocHRpX0JfZGVyaXZlZCAo YXJyb3cgczEgczIpIGYxIGYyIGZjKQ0KLSAgKCEgdCAodGVybSBzMSkNCi0gICAgKHB0aV9CX2Rl cml2ZWQgczIgKGFwcGx5IHMxIHMyIGYxIHQpIChhcHBseSBzMSBzMiBmMiB0KSBmYykpKSkpKSkp KQ0KLQ0KLTsgcnVsZXMgZm9yIHBhcnRpYWwgaW50ZXJwb2xhbnRzDQotDQotKGRlY2xhcmUgcHRp X2Jhc2VBDQotICAoISBzIHNvcnQNCi0gICghIHQxICh0ZXJtIHMpDQotICAoISB0MiAodGVybSBz KQ0KLSAgKCEgZiBmb3JtdWxhDQotICAoISBmaSBmb3JtdWxhDQotICAoISBpIChicHNfQSBzIHQx IHQyIGYgZmkpDQotICAgIChwdGkgcyB0MSB0MiBBIChhbmQgKGltcGwgZiAoPSBzIHQxIHQyKSkg ZmkpKSkpKSkpKSkNCi0NCi0oZGVjbGFyZSBwdGlfYmFzZUINCi0gICghIHMgc29ydA0KLSAgKCEg dDEgKHRlcm0gcykNCi0gICghIHQyICh0ZXJtIHMpDQotICAoISBmIGZvcm11bGENCi0gICghIGkg KHB0aV9CIHMgdDEgdDIgZikNCi0gICAgKHB0aSBzIHQxIHQyIEIgZikpKSkpKSkNCi0gICAgDQot KGRlY2xhcmUgcHRpX2FwcEENCi0gICghIHMgc29ydA0KLSAgKCEgdDEgKHRlcm0gcykgDQotICAo ISB0MiAodGVybSBzKQ0KLSAgKCEgdDMgKHRlcm0gcykNCi0gICghIGYxIGZvcm11bGENCi0gICgh IGYyIGZvcm11bGENCi0gICghIGYyaSBmb3JtdWxhDQotICAoISBpMSAocHRpIHMgdDEgdDIgQiBm MSkNCi0gICghIGkyIChicHNfQSBzIHQyIHQzIGYyIGYyaSkNCi0gICAgKHB0aSBzIHQxIHQzIEEg KGFuZCBmMSAoYW5kIChpbXBsIGYyICg9IHMgdDIgdDMpKSBmMmkpKSkpKSkpKSkpKSkpDQotICAg IA0KLShkZWNsYXJlIHB0aV9hcHBCDQotICAoISBzIHNvcnQNCi0gICghIHQxICh0ZXJtIHMpIA0K LSAgKCEgdDIgKHRlcm0gcykNCi0gICghIHQzICh0ZXJtIHMpDQotICAoISBmMSBmb3JtdWxhDQot ICAoISBmMiBmb3JtdWxhDQotICAoISBpMSAocHRpIHMgdDEgdDIgQSBmMSkNCi0gICghIGkyIChw dGlfQiBzIHQyIHQzIGYyKQ0KLSAgICAocHRpIHMgdDEgdDMgQiAoYW5kIGYxIGYyKSkpKSkpKSkp KSkNCi0gICAgDQotOyBydWxlcyBmb3IgaW50ZXJwb2xhbnRzDQotDQotKGRlY2xhcmUgaW50ZXJw b2xhbnRfaW50cm9CDQotICAoISBzIHNvcnQNCi0gICghIHQxICh0ZXJtIHMpIA0KLSAgKCEgdDIg KHRlcm0gcykNCi0gICghIGMgY29sb3INCi0gICghIGYgZm9ybXVsYQ0KLSAgKCEgaSAocHRpIHMg dDEgdDIgYyBmKQ0KLSAgKCEgdSAoY29sb3JfYXRvbSBCIChkaXN0aW5jdCBzIHQxIHQyKSkNCi0g ICAgKGludGVycG9sYW50IGYpKSkpKSkpKSkNCi0gICAgICAgIA0KLShkZWNsYXJlIGludGVycG9s YW50X2ludHJvQQ0KLSAgKCEgcyBzb3J0DQotICAoISB0MSAodGVybSBzKQ0KLSAgKCEgdDIgKHRl cm0gcykNCi0gICghIGMgY29sb3INCi0gICghIGYgZm9ybXVsYQ0KLSAgKCEgZmkgZm9ybXVsYQ0K LSAgKCEgYiAoYnBzIHMgdDEgdDIgYyBmIGZpKQ0KLSAgKCEgdSAoY29sb3JfYXRvbSBBIChkaXN0 aW5jdCBzIHQxIHQyKSkNCi0gICAgKGludGVycG9sYW50IChhbmQgZmkgKG5vdCBmKSkpKSkpKSkp KSkpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKZGlmZiAtLWdpdCBhL2xmc2MtbWFwLnBh dGNoIGIvbGZzYy1tYXAucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBkNWVl NzUuLjAwMDAwMDAKLS0tIGEvbGZzYy1tYXAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MyAr MCwwIEBACi0tLS0gc3JjL2NoZWNrLmNwcC5vcmlnCTIwMTktMDktMDkgMDk6MDk6NDIuNTExNTg0 ODY3IC0wNjAwCi0rKysgc3JjL2NoZWNrLmNwcAkyMDE5LTA5LTA5IDA5OjEwOjI4LjM5Njc1MjU3 MCAtMDYwMAotQEAgLTMzLDcgKzMzLDcgQEAgc3RkOjp2ZWN0b3I8RXhwciAqPiBhc2NIb2xlczsK LSAKLSBUcmllPHBhaXI8RXhwciAqLCBFeHByICo+ID4gKnN5bWJvbHMgPSBuZXcgVHJpZTxwYWly PEV4cHIgKiwgRXhwciAqPiA+OwotIAotLWhhc2hfbWFwPHN0cmluZywgYm9vbD4gaW1wb3J0czsK LStzdGQ6OnVub3JkZXJlZF9tYXA8c3RyaW5nLCBib29sPiBpbXBvcnRzOwotIHN0ZDo6bWFwPFN5 bUV4cHIgKiwgaW50PiBtYXJrX21hcDsKLSBzdGQ6OnZlY3RvcjxzdGQ6OnBhaXI8c3RkOjpzdHJp bmcsIHN0ZDo6cGFpcjxFeHByICosIEV4cHIgKj4gPiA+Ci0gICAgIGxvY2FsX3N5bV9uYW1lczsK LS0tLSBzcmMvY2hlY2suaC5vcmlnCTIwMTktMDgtMDggMTM6NTA6MTkuMDAwMDAwMDAwIC0wNjAw Ci0rKysgc3JjL2NoZWNrLmgJMjAxOS0wOS0wOSAwOTowOTo0Mi41MTE1ODQ4NjcgLTA2MDAKLUBA IC04LDcgKzgsNyBAQAotICNpbmNsdWRlIDxzdGRpby5oPgotICNpbmNsdWRlIDxoYXNoX21hcD4K LSAjZWxzZQotLSNpbmNsdWRlIDxleHQvaGFzaF9tYXA+Ci0rI2luY2x1ZGUgPHVub3JkZXJlZF9t YXA+Ci0gI2VuZGlmCi0gCi0gI2luY2x1ZGUgPGNzdGRkZWY+Ci1AQCAtMTU4LDggKzE1OCw4IEBA IGlubGluZSBjb25zdCBjaGFyICpwcmVmaXhfaWQoYm9vbCBza2lwX3cKLSB0eXBlZGVmIHN0ZDo6 aGFzaF9tYXA8c3RkOjpzdHJpbmcsIEV4cHIgKj4gc3ltbWFwOwotIHR5cGVkZWYgc3RkOjpoYXNo X21hcDxzdGQ6OnN0cmluZywgU3ltRXhwciAqPiBzeW1tYXAyOwotICNlbHNlCi0tdHlwZWRlZiBf X2dudV9jeHg6Omhhc2hfbWFwPHN0ZDo6c3RyaW5nLCBFeHByICo+IHN5bW1hcDsKLS10eXBlZGVm IF9fZ251X2N4eDo6aGFzaF9tYXA8c3RkOjpzdHJpbmcsIFN5bUV4cHIgKj4gc3ltbWFwMjsKLSt0 eXBlZGVmIHN0ZDo6dW5vcmRlcmVkX21hcDxzdGQ6OnN0cmluZywgRXhwciAqPiBzeW1tYXA7Ci0r dHlwZWRlZiBzdGQ6OnVub3JkZXJlZF9tYXA8c3RkOjpzdHJpbmcsIFN5bUV4cHIgKj4gc3ltbWFw MjsKLSAjZW5kaWYKLSBleHRlcm4gc3ltbWFwMiBwcm9nczsKLSBleHRlcm4gc3RkOjp2ZWN0b3I8 RXhwciAqPiBhc2NIb2xlczsKLUBAIC0xNzEsMTkgKzE3MSw2IEBAIGV4dGVybiBzdGQ6Om1hcDxT eW1FeHByICosIGludD4gbWFya19tYXAKLSBleHRlcm4gc3RkOjp2ZWN0b3I8c3RkOjpwYWlyPHN0 ZDo6c3RyaW5nLCBzdGQ6OnBhaXI8RXhwciAqLCBFeHByICo+ID4gPgotICAgICBsb2NhbF9zeW1f bmFtZXM7Ci0gCi0tI2lmbmRlZiBfTVNDX1ZFUgotLW5hbWVzcGFjZSBfX2dudV9jeHggewotLXRl bXBsYXRlIDw+Ci0tc3RydWN0IGhhc2g8c3RkOjpzdHJpbmc+Ci0tewotLSAgc2l6ZV90IG9wZXJh dG9yKCkoY29uc3Qgc3RkOjpzdHJpbmcgJngpIGNvbnN0Ci0tICB7Ci0tICAgIHJldHVybiBoYXNo PGNvbnN0IGNoYXIgKj4oKSh4LmNfc3RyKCkpOwotLSAgfQotLX07Ci0tfSAgLy8gbmFtZXNwYWNl IF9fZ251X2N4eAotLSNlbmRpZgotLQotIGV4dGVybiBFeHByICpzdGF0TXB6OwotIGV4dGVybiBF eHByICpzdGF0TXBxOwotIGV4dGVybiBFeHByICpzdGF0VHlwZTsKCmRpZmYgLS1naXQgYS9sZnNj LnNwZWMgYi9sZnNjLnNwZWMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhhZTFjNmEu LjAwMDAwMDAKLS0tIGEvbGZzYy5zcGVjCisrKyAvZGV2L251bGwKQEAgLTEsMjIxICswLDAgQEAK LSMgTk9URTogdXBzdHJlYW0gZG9lcyBub3QgbWFrZSByZWxlYXNlcyBhbmQgaGFzIG5vIHZlcnNp b24gbnVtYmVyaW5nIHNjaGVtZS4KLSMgV2UgY2hlY2sgdGhlIGNvZGUgb3V0IG9mIGdpdCBhbmQg dXNlIHRoZSBkYXRlIG9mIHRoZSBsYXN0IGNvbW1pdCBhcyB0aGUKLSMgdmVyc2lvbiBudW1iZXIu Ci0lZ2xvYmFsIGdpdHRhZyAgIDVhMTI3ZGJiY2Y5YTBmODIyNzY4ZTc4M2RiZjg5MmVlOTBjNDM1 ZDUKLSVnbG9iYWwgc2hvcnR0YWcgJShjdXQgLWIgLTcgPDw8ICV7Z2l0dGFnfSkKLQotTmFtZTog ICAgICAgICAgIGxmc2MKLVZlcnNpb246ICAgICAgICAwLjIwMjMwOTE0Ci1SZWxlYXNlOiAgICAg ICAgNiV7P2Rpc3R9Ci1TdW1tYXJ5OiAgICAgICAgU01UIHByb29mIGNoZWNrZXIKLQotTGljZW5z ZTogICAgICAgIEJTRC0zLUNsYXVzZQotVVJMOiAgICAgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNv bS9jdmM1L0xGU0MKLVZDUzogICAgICAgICAgICBnaXQ6JXt1cmx9LmdpdAotU291cmNlMDogICAg ICAgICV7dXJsfS9hcmNoaXZlLyV7Z2l0dGFnfS8le25hbWV9LSV7c2hvcnR0YWd9LnRhci5negot IyBUaGUgbmV4dCBmZXcgc291cmNlcyBjb250YWluIGNvbW1vbmx5IHVzZWQgcHJvb2YgZGVmaW5p dGlvbnMKLVNvdXJjZTE6ICAgICAgICBodHRwOi8vY2xjLmNzLnVpb3dhLmVkdS9sZnNjL2V1Zl9p bnRlcnBvbGF0aW9uLnBsZgotU291cmNlMjogICAgICAgIGh0dHA6Ly9jbGMuY3MudWlvd2EuZWR1 L2xmc2Mvc2F0LnBsZgotU291cmNlMzogICAgICAgIGh0dHA6Ly9jbGMuY3MudWlvd2EuZWR1L2xm c2Mvc210LnBsZgotU291cmNlNDogICAgICAgIGh0dHA6Ly9jbGMuY3MudWlvd2EuZWR1L2xmc2Mv dGhfYmFzZS5wbGYKLVNvdXJjZTU6ICAgICAgICBodHRwOi8vY2xjLmNzLnVpb3dhLmVkdS9sZnNj L3RoX3JlYWwucGxmCi1Tb3VyY2U2OiAgICAgICAgaHR0cDovL2NsYy5jcy51aW93YS5lZHUvbGZz Yy90aF9scmEucGxmCi1Tb3VyY2U3OiAgICAgICAgaHR0cDovL2NsYy5jcy51aW93YS5lZHUvbGZz Yy90aF9scmEtY3ZjMy5wbGYKLVNvdXJjZTg6ICAgICAgICBodHRwOi8vY2xjLmNzLnVpb3dhLmVk dS9sZnNjL2NvbG9yX2Jhc2UucGxmCi1Tb3VyY2U5OiAgICAgICAgaHR0cDovL2NsYy5jcy51aW93 YS5lZHUvbGZzYy9jb2xvcl9ldWYucGxmCi0jIFVzZSBzdGQ6OnVub3JkZXJlZF9tYXAgaW5zdGVh ZCBvZiB0aGUgZGVwcmVjYXRlZCBfX2dudV9jeHg6Omhhc2hfbWFwCi1QYXRjaDogICAgICAgICAg JXtuYW1lfS1tYXAucGF0Y2gKLQotIyBTZWUgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtp L0NoYW5nZXMvRW5jb3VyYWdlSTY4NkxlYWZSZW1vdmFsCi1FeGNsdWRlQXJjaDogICAgJXtpeDg2 fQotCi1CdWlsZFJlcXVpcmVzOiAgY21ha2UKLUJ1aWxkUmVxdWlyZXM6ICBmbGV4Ci1CdWlsZFJl cXVpcmVzOiAgZ2NjLWMrKwotQnVpbGRSZXF1aXJlczogIGdtcC1kZXZlbAotQnVpbGRSZXF1aXJl czogIGhlbHAybWFuCi1CdWlsZFJlcXVpcmVzOiAgbWFrZQotQnVpbGRSZXF1aXJlczogIHB5dGhv bjMtZGV2ZWwKLQotJWRlc2NyaXB0aW9uCi1UaGlzIHBhY2thZ2UgY29udGFpbnMgYW4gU01UIHBy b29mIGNoZWNrZXIuCi0KLSVwYWNrYWdlIGRldmVsCi1TdW1tYXJ5OiAgICAgICAgRmlsZXMgbmVl ZGVkIHRvIGNvbXBpbGUgc2lkZSBjb25kaXRpb25zCi1SZXF1aXJlczogICAgICAgJXtuYW1lfSV7 P19pc2F9ID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9Ci0KLSVkZXNjcmlwdGlvbiBkZXZlbAotVGhp cyBwYWNrYWdlIGNvbnRhaW5zIHRoZSBmaWxlcyBuZWVkZWQgdG8gY29tcGlsZSBhIHZlcnNpb24g b2YgJXtuYW1lfSB0aGF0Ci1jYW4gZXhlY3V0ZSBhIHNpZGUgY29uZGl0aW9uLgotCi0lcHJlcAot JWF1dG9zZXR1cCAtcDAgLW4gTEZTQy0le2dpdHRhZ30KLQotJWNvbmYKLSMgV2Ugd2FudCB0byBr bm93IGFib3V0IHVzZSBvZiBkZXByZWNhdGVkIGludGVyZmFjZXMKLXNlZCAtaSAnL1duby1kZXBy ZWNhdGVkL2QnIENNYWtlTGlzdHMudHh0Ci0KLSMgQnVpbGQgYSBzaGFyZWQgbGlicmFyeSBpbnN0 ZWFkIG9mIGEgc3RhdGljIGxpYnJhcnksIGFuZCBnaXZlIGl0IGFuIHNvbmFtZQotc2VkIC1lICdz L1NUQVRJQy9TSEFSRUQvJyBcCi0gICAgLWUgJy9eW1s6Ymxhbms6XV0qT1VUUFVUX05BTUUgbGZz Y2MvaVwgIFZFUlNJT04gMC4wLjBcbiAgU09WRVJTSU9OIDAnIFwKLSAgICAtZSAncy9BUkNISVZF IERFU1RJTkFUSU9OL0xJQlJBUlkgREVTVElOQVRJT04vJyBcCi0gICAgLWUgJy9ec2V0X3Rhcmdl dF9wcm9wZXJ0aWVzL2lUQVJHRVRfTElOS19MSUJSQVJJRVMobGlibGZzY2MgZ21wKScgXAotICAg IC1pIHNyYy9DTWFrZUxpc3RzLnR4dAotCi0jIEZpeCB0aGUgbGlicmFyeSBpbnN0YWxsIHBhdGgK LWlmIFsgIiV7X2xpYn0iID0gImxpYjY0IiBdOyB0aGVuCi0gIHNlZCAtaSAncywvbGliLC9saWI2 NCwnIHNyYy9DTWFrZUxpc3RzLnR4dAotZmkKLQotIyBGaXggdGhlIHRlc3Qgc2NyaXB0Ci0lcHkz X3NoZWJhbmdfZml4IHRlc3RzL3J1bl90ZXN0LnB5Ci0KLSVidWlsZAotJWNtYWtlCi0lY21ha2Vf YnVpbGQKLQotJWluc3RhbGwKLSVjbWFrZV9pbnN0YWxsCi0KLSMgSW5zdGFsbCB0aGUgcHJvb2Yg ZmlsZXMKLW1rZGlyIC1wICV7YnVpbGRyb290fSV7X2RhdGFkaXJ9LyV7bmFtZX0KLWNwIC1wICV7 U09VUkNFMX0gJXtTT1VSQ0UyfSAle1NPVVJDRTN9ICV7U09VUkNFNH0gJXtTT1VSQ0U1fSAle1NP VVJDRTZ9IFwKLSAgICV7U09VUkNFN30gJXtTT1VSQ0U4fSAle1NPVVJDRTl9ICV7YnVpbGRyb290 fSV7X2RhdGFkaXJ9LyV7bmFtZX0KLQotIyBHZW5lcmF0ZSBhIG1hbiBwYWdlCi1jZCAle192cGF0 aF9idWlsZGRpcn0vc3JjCi1ta2RpciAtcCAle2J1aWxkcm9vdH0le19tYW5kaXJ9L21hbjEKLWV4 cG9ydCBMRF9MSUJSQVJZX1BBVEg9JFBXRAotaGVscDJtYW4gLU4gLS12ZXJzaW9uLXN0cmluZz0l e3ZlcnNpb259IC1uICdTTVQgcHJvb2YgY2hlY2tlcicgLi9sZnNjYyA+IFwKLSAgJXtidWlsZHJv b3R9JXtfbWFuZGlyfS9tYW4xL2xmc2NjLjEKLSMgRml4IGxpbmUgYnJlYWtzIGluIHRoZSBtYW4g cGFnZQotc2VkIC1pICdzL1xcZkIvLlRQXG4mLztzL1xcZlI6IC9cXGZSXG4vJyAle2J1aWxkcm9v dH0le19tYW5kaXJ9L21hbjEvbGZzY2MuMQotCi0jIEhlbHAgdGhlIGRlYnVnaW5mbyBnZW5lcmF0 b3IKLWNwIC1wIC4uLy4uL3NyYy9sZXhlci5mbGV4IC4KLWNkIC0KLQotJWNoZWNrCi0lY3Rlc3QK LQotJWZpbGVzCi0lbGljZW5zZSBDT1BZSU5HCi0lZG9jIEFVVEhPUlMgUkVBRE1FLm1kCi0le19i aW5kaXJ9L2xmc2NjCi0le19kYXRhZGlyfS8le25hbWV9LwotJXtfbGliZGlyfS9saWJsZnNjYy5z by4weywuKn0KLSV7X21hbmRpcn0vbWFuMS9sZnNjYy4xKgotCi0lZmlsZXMgZGV2ZWwKLSV7X2lu Y2x1ZGVkaXJ9L2xmc2NjLmgKLSV7X2xpYmRpcn0vbGlibGZzY2Muc28KLQotJWNoYW5nZWxvZwot KiBUaHUgSnVsIDE2IDIwMjYgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRv cmFwcm9qZWN0Lm9yZz4gLSAwLjIwMjMwOTE0LTYKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRv cmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV80NV9NYXNzX1JlYnVpbGQKLQotKiBGcmkgSmFuIDE2 IDIwMjYgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9y Zz4gLSAwLjIwMjMwOTE0LTUKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9y Zy93aWtpL0ZlZG9yYV80NF9NYXNzX1JlYnVpbGQKLQotKiBUaHUgSnVsIDI0IDIwMjUgRmVkb3Jh IFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjIwMjMw OTE0LTQKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9y YV80M19NYXNzX1JlYnVpbGQKLQotKiBGcmkgSmFuIDE3IDIwMjUgRmVkb3JhIFJlbGVhc2UgRW5n aW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjIwMjMwOTE0LTMKLS0gUmVi dWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV80Ml9NYXNzX1Jl YnVpbGQKLQotKiBUaHUgSnVsIDE4IDIwMjQgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJl bGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjIwMjMwOTE0LTIKLS0gUmVidWlsdCBmb3IgaHR0 cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV80MV9NYXNzX1JlYnVpbGQKLQotKiBU aHUgTWFyIDE0IDIwMjQgSmVycnkgSmFtZXMgPGxvZ2FuamVycnlAZ21haWwuY29tPiAtIDAuMjAy MzA5MTQtMQotLSBVcGRhdGUgdG8gMjAyMzA5MTQgZ2l0IHNuYXBzaG90Ci0tIERyb3AgdXBzdHJl YW1lZCBzdGRpbnQgcGF0Y2gKLQotKiBUaHUgSmFuIDI1IDIwMjQgRmVkb3JhIFJlbGVhc2UgRW5n aW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjIwMjMwNTIzLTMKLS0gUmVi dWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV80MF9NYXNzX1Jl YnVpbGQKLQotKiBTdW4gSmFuIDIxIDIwMjQgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJl bGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjIwMjMwNTIzLTIKLS0gUmVidWlsdCBmb3IgaHR0 cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV80MF9NYXNzX1JlYnVpbGQKLQotKiBU dWUgSmFuIDE2IDIwMjQgSmVycnkgSmFtZXMgPGxvZ2FuamVycnlAZ21haWwuY29tPiAtIDAuMjAy MzA1MjMtMQotLSBTdG9wIGJ1aWxkaW5nIGZvciAzMi1iaXQgeDg2Ci0KLSogRnJpIEp1bCAyOCAy MDIzIEplcnJ5IEphbWVzIDxsb2dhbmplcnJ5QGdtYWlsLmNvbT4gLSAwLjIwMjMwNTIzLTEKLS0g VXBkYXRlIHRvIDIwMjMwNTIzIGdpdCBzbmFwc2hvdAotCi0qIFRodSBKdWwgMjAgMjAyMyBGZWRv cmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDAuMjAy MTAzMDUtNgotLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVk b3JhXzM5X01hc3NfUmVidWlsZAotCi0qIFRodSBKYW4gMTkgMjAyMyBKZXJyeSBKYW1lcyA8bG9n YW5qZXJyeUBnbWFpbC5jb20+IC0gMC4yMDIxMDMwNS01Ci0tIEFkZCAtc3RkaW50IHBhdGNoIHRv IGZpeCBGVEJGUwotCi0qIFRodSBKYW4gMTkgMjAyMyBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmlu ZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDAuMjAyMTAzMDUtNQotLSBSZWJ1aWx0IGZv ciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzM4X01hc3NfUmVidWlsZAot Ci0qIE1vbiBOb3YgMjggMjAyMiBKZXJyeSBKYW1lcyA8bG9nYW5qZXJyeUBnbWFpbC5jb20+IC0g MC4yMDIxMDMwNS00Ci0tIE5ldyBwcm9qZWN0IFVSTAotLSBDb252ZXJ0IExpY2Vuc2UgdGFnIHRv IFNQRFgKLQotKiBUaHUgSnVsIDIxIDIwMjIgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJl bGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjIwMjEwMzA1LTQKLS0gUmVidWlsdCBmb3IgaHR0 cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8zN19NYXNzX1JlYnVpbGQKLQotKiBU aHUgSmFuIDIwIDIwMjIgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFw cm9qZWN0Lm9yZz4gLSAwLjIwMjEwMzA1LTMKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFw cm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8zNl9NYXNzX1JlYnVpbGQKLQotKiBUaHUgSnVsIDIyIDIw MjEgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4g LSAwLjIwMjEwMzA1LTIKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93 aWtpL0ZlZG9yYV8zNV9NYXNzX1JlYnVpbGQKLQotKiBTYXQgSnVsIDE3IDIwMjEgSmVycnkgSmFt ZXMgPGxvZ2FuamVycnlAZ21haWwuY29tPiAtIDAuMjAyMTAzMDUtMQotLSBVcGRhdGUgdG8gMjAy MTAzMDUgZ2l0IHNuYXBzaG90Ci0KLSogVHVlIEphbiAyNiAyMDIxIEZlZG9yYSBSZWxlYXNlIEVu Z2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMC4yMDIwMTExMC0yCi0tIFJl YnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMzRfTWFzc19S ZWJ1aWxkCi0KLSogVHVlIEphbiAxOSAyMDIxIEplcnJ5IEphbWVzIDxsb2dhbmplcnJ5QGdtYWls LmNvbT4gLSAwLjIwMjAxMTEwLTEKLS0gVXBkYXRlIHRvIDIwMjAxMTEwIHNuYXBzaG90Ci0KLSog TW9uIEF1ZyAyNCAyMDIwIEplcnJ5IEphbWVzIDxsb2dhbmplcnJ5QGdtYWlsLmNvbT4gLSAwLjIw MjAwODE1LTEKLS0gVXBkYXRlIHRvIDIwMjAwODE1IGdpdCBzbmFwc2hvdAotCi0qIFR1ZSBKdWwg MjggMjAyMCBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qu b3JnPiAtIDAuMjAyMDA3MTktMgotLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qu b3JnL3dpa2kvRmVkb3JhXzMzX01hc3NfUmVidWlsZAotCi0qIFNhdCBKdWwgMjUgMjAyMCBKZXJy eSBKYW1lcyA8bG9nYW5qZXJyeUBnbWFpbC5jb20+IC0gMC4yMDIwMDcxOS0xCi0tIFVwZGF0ZSB0 byAyMDIwMDcxOSBnaXQgc25hcHNob3QKLS0gQWRhcHQgdG8gY21ha2UgY2hhbmdlcyBpbiBSYXdo aWRlCi0KLSogVGh1IE1hciAgNSAyMDIwIEplcnJ5IEphbWVzIDxsb2dhbmplcnJ5QGdtYWlsLmNv bT4gLSAwLjIwMjAwMTE1LTEKLS0gVXBkYXRlIHRvIGxhdGVzdCBnaXQgc25hcHNob3QKLS0gTGlu ayB0aGUgbGlicmFyeSB3aXRoIGdtcAotLSBHZW5lcmF0ZSBhIG1hbiBwYWdlIGZvciB0aGUgYmlu YXJ5IHdpdGggaGVscDJtYW4KLQotKiBXZWQgSmFuIDI5IDIwMjAgRmVkb3JhIFJlbGVhc2UgRW5n aW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjIwMTkwODA4LTIKLS0gUmVi dWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8zMl9NYXNzX1Jl YnVpbGQKLQotKiBNb24gU2VwICA5IDIwMTkgSmVycnkgSmFtZXMgPGxvZ2FuamVycnlAZ21haWwu Y29tPiAtIDAuMjAxOTA4MDgtMQotLSBVcGRhdGUgdG8gbGF0ZXN0IGdpdCBzbmFwc2hvdAotCi0q IFRodSBKdWwgMjUgMjAxOSBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9y YXByb2plY3Qub3JnPiAtIDAuMjAxOTAyMjYtMgotLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9y YXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzMxX01hc3NfUmVidWlsZAotCi0qIFdlZCBKdW4gMTIg MjAxOSBKZXJyeSBKYW1lcyA8bG9nYW5qZXJyeUBnbWFpbC5jb20+IC0gMC4yMDE5MDIyNi0xCi0t IFVwZGF0ZSB0byBsYXRlc3QgZ2l0IHNuYXBzaG90Ci0KLSogVGh1IEZlYiAgNyAyMDE5IEplcnJ5 IEphbWVzIDxsb2dhbmplcnJ5QGdtYWlsLmNvbT4gLSAwLjIwMTkwMTEzLTEKLS0gVXBkYXRlIHRv IGxhdGVzdCBnaXQgc25hcHNob3QgZm9yIGlkZW50aWZpZXIgYnVnIGZpeAotLSBBZGQgLW1hcCBw YXRjaCB0byBmaXggdXNlIG9mIGRlcHJlY2F0ZWQgaW50ZXJmYWNlCi0KLSogRnJpIEZlYiAwMSAy MDE5IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+ IC0gMC4yMDE4MTEyMi0yCi0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcv d2lraS9GZWRvcmFfMzBfTWFzc19SZWJ1aWxkCi0KLSogTW9uIE5vdiAyNiAyMDE4IEplcnJ5IEph bWVzIDxsb2dhbmplcnJ5QGdtYWlsLmNvbT4gLSAwLjIwMTgxMTIyLTEKLS0gVXBkYXRlIHRvIGxh dGVzdCBnaXQgc25hcHNob3QgZm9yIDIgYnVnIGZpeGVzCi0tIFVzZSB1cHN0cmVhbSdzIG5ldyB0 ZXN0IHN1aXRlCi0KLSogV2VkIE5vdiAgNyAyMDE4IEplcnJ5IEphbWVzIDxsb2dhbmplcnJ5QGdt YWlsLmNvbT4gLSAwLjIwMTgxMDI5LTEKLS0gVXBkYXRlIHRvIGxhdGVzdCBnaXQgc25hcHNob3QK LQotKiBGcmkgSnVsIDEzIDIwMTggRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0Bm ZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjIwMTgwMzIyLTIKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9m ZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8yOV9NYXNzX1JlYnVpbGQKLQotKiBUaHUgSnVs ICA1IDIwMTggSmVycnkgSmFtZXMgPGxvZ2FuamVycnlAZ21haWwuY29tPiAtIDAuMjAxODAzMjIt MQotLSBJbml0aWFsIFJQTSAodW5yZXRpcmVkKQoKZGlmZiAtLWdpdCBhL3NhdC5wbGYgYi9zYXQu cGxmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNDYzNDI0Li4wMDAwMDAwCi0tLSBh L3NhdC5wbGYKKysrIC9kZXYvbnVsbApAQCAtMSwxMjIgKzAsMCBAQAotKGRlY2xhcmUgYm9vbCB0 eXBlKQ0KLShkZWNsYXJlIHR0IGJvb2wpDQotKGRlY2xhcmUgZmYgYm9vbCkNCi0NCi0oZGVjbGFy ZSB2YXIgdHlwZSkgDQotDQotKGRlY2xhcmUgbGl0IHR5cGUpDQotKGRlY2xhcmUgcG9zICghIHgg dmFyIGxpdCkpDQotKGRlY2xhcmUgbmVnICghIHggdmFyIGxpdCkpDQotDQotKGRlY2xhcmUgY2xh dXNlIHR5cGUpDQotKGRlY2xhcmUgY2xuIGNsYXVzZSkNCi0oZGVjbGFyZSBjbGMgKCEgeCBsaXQg KCEgYyBjbGF1c2UgY2xhdXNlKSkpDQotDQotOyBjb25zdHJ1Y3RzIGZvciBnZW5lcmFsIGNsYXVz ZXMgZm9yIFIsIFEsIHNhdGxlbQ0KLQ0KLShkZWNsYXJlIGNvbmNhdCAoISBjMSBjbGF1c2UgKCEg YzIgY2xhdXNlIGNsYXVzZSkpKQ0KLShkZWNsYXJlIGNsciAoISBsIGxpdCAoISBjIGNsYXVzZSBj bGF1c2UpKSkgDQotDQotOyBjb2RlIHRvIGNoZWNrIHJlc29sdXRpb25zDQotDQotKHByb2dyYW0g YXBwZW5kICgoYzEgY2xhdXNlKSAoYzIgY2xhdXNlKSkgY2xhdXNlDQotICAobWF0Y2ggYzEgKGNs biBjMikgKChjbGMgbCBjMScpIChjbGMgbCAoYXBwZW5kIGMxJyBjMikpKSkpDQotDQotOyB3ZSB1 c2UgbWFya3MgYXMgZm9sbG93czoNCi07IC0tIG1hcmsgMSB0byByZWNvcmQgaWYgd2UgYXJlIHN1 cHBvc2VkIHRvIHJlbW92ZSBhIHBvc2l0aXZlIG9jY3VycmVuY2Ugb2YgdGhlIHZhcmlhYmxlLg0K LTsgLS0gbWFyayAyIHRvIHJlY29yZCBpZiB3ZSBhcmUgc3VwcG9zZWQgdG8gcmVtb3ZlIGEgbmVn YXRpdmUgb2NjdXJyZW5jZSBvZiB0aGUgdmFyaWFibGUuDQotOyAtLSBtYXJrIDMgaWYgd2UgZGlk IGluZGVlZCByZW1vdmUgdGhlIHZhcmlhYmxlIHBvc2l0aXZlbHkNCi07IC0tIG1hcmsgNCBpZiB3 ZSBkaWQgaW5kZWVkIHJlbW92ZSB0aGUgdmFyaWFibGUgbmVnYXRpdmVseQ0KLShwcm9ncmFtIHNp bXBsaWZ5X2NsYXVzZSAoKGMgY2xhdXNlKSkgY2xhdXNlDQotICAobWF0Y2ggYw0KLSAgICAoY2xu IGNsbikNCi0gICAgKChjbGMgbCBjMSkNCi0gICAgICAobWF0Y2ggbA0KLSAgICAgICAgOyBTZXQg bWFyayAxIG9uIHYgaWYgaXQgaXMgbm90IHNldCwgdG8gaW5kaWNhdGUgd2Ugc2hvdWxkIHJlbW92 ZSBpdC4NCi0gICAgICAgIDsgQWZ0ZXIgcHJvY2Vzc2luZyB0aGUgcmVzdCBvZiB0aGUgY2xhdXNl LCBzZXQgbWFyayAzIGlmIHdlIHdlcmUgYWxyZWFkeSANCi0gICAgICAgIDsgc3VwcG9zZWQgdG8g cmVtb3ZlIHYgKHNvIGlmIG1hcmsgMSB3YXMgc2V0IHdoZW4gd2UgYmVnYW4pLiAgQ2xlYXIgbWFy azMNCi0gICAgICAgIDsgaWYgd2Ugd2VyZSBub3Qgc3VwcG9zZWQgdG8gYmUgcmVtb3ZpbmcgdiB3 aGVuIHdlIGJlZ2FuIHRoaXMgY2FsbC4NCi0gICAgICAgICgocG9zIHYpDQotICAgICAgICAgIChs ZXQgbSAoaWZtYXJrZWQgdiB0dCAoZG8gKG1hcmt2YXIgdikgZmYpKQ0KLSAgICAgICAgICAobGV0 IGMnIChzaW1wbGlmeV9jbGF1c2UgYzEpDQotICAgICAgICAgICAgKG1hdGNoIG0NCi0gICAgICAg ICAgICAgICh0dCAoZG8gKGlmbWFya2VkMyB2IHYgKG1hcmt2YXIzIHYpKSBjJykpICAgICAgICAg ICAgICAgICAgICAgICAgICAgIA0KLSAgICAgICAgICAgICAgKGZmIChkbyAoaWZtYXJrZWQzIHYg KG1hcmt2YXIzIHYpIHYpIChtYXJrdmFyIHYpIChjbGMgbCBjJykpKSkpKSkNCi0gICAgICAgIDsg dGhlIHNhbWUgYXMgdGhlIGNvZGUgZm9yIHR0LCBidXQgdXNpbmcgZGlmZmVyZW50IG1hcmtzLg0K LSAgICAgICAgKChuZWcgdikNCi0gICAgICAgICAgKGxldCBtIChpZm1hcmtlZDIgdiB0dCAoZG8g KG1hcmt2YXIyIHYpIGZmKSkNCi0gICAgICAgICAgKGxldCBjJyAoc2ltcGxpZnlfY2xhdXNlIGMx KQ0KLSAgICAgICAgICAgIChtYXRjaCBtDQotICAgICAgICAgICAgICAodHQgKGRvIChpZm1hcmtl ZDQgdiB2IChtYXJrdmFyNCB2KSkgYycpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCi0g ICAgICAgICAgICAgIChmZiAoZG8gKGlmbWFya2VkNCB2IChtYXJrdmFyNCB2KSB2KSAobWFya3Zh cjIgdikgKGNsYyBsIGMnKSkpKSkpKSkpDQotICAgICgoY29uY2F0IGMxIGMyKSAoYXBwZW5kIChz aW1wbGlmeV9jbGF1c2UgYzEpIChzaW1wbGlmeV9jbGF1c2UgYzIpKSkNCi0gICAgKChjbHIgbCBj MSkNCi0gICAgICAobWF0Y2ggbA0KLSAgICAgICAgOyBzZXQgbWFyayAxIHRvIGluZGljYXRlIHdl IHNob3VsZCByZW1vdmUgdiwgYW5kIGZhaWwgaWYNCi0gICAgICAgIDsgbWFyayAzIGlzIG5vdCBz ZXQgYWZ0ZXIgcHJvY2Vzc2luZyB0aGUgcmVzdCBvZiB0aGUgY2xhdXNlDQotICAgICAgICA7ICh3 ZSB3aWxsIHNldCBtYXJrIDMgaWYgd2UgcmVtb3ZlIGEgcG9zaXRpdmUgb2NjdXJyZW5jZSBvZiB2 KS4NCi0gICAgICAgICgocG9zIHYpDQotICAgICAgICAgICAgKGxldCBtIChpZm1hcmtlZCB2IHR0 IChkbyAobWFya3ZhciB2KSBmZikpDQotICAgICAgICAgICAgKGxldCBtMyAoaWZtYXJrZWQzIHYg KGRvIChtYXJrdmFyMyB2KSB0dCkgZmYpDQotICAgICAgICAgICAgKGxldCBjJyAoc2ltcGxpZnlf Y2xhdXNlIGMxKQ0KLSAgICAgICAgICAgICAgKGlmbWFya2VkMyB2IChkbyAobWF0Y2ggbTMgKHR0 IHYpIChmZiAobWFya3ZhcjMgdikpKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KG1hdGNoIG0gKHR0IHYpIChmZiAobWFya3ZhciB2KSkpIGMnKQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgKGZhaWwgY2xhdXNlKSkpKSkpDQotICAgICAgICA7IHNhbWUgYXMgdGhlIHR0IGNh c2UsIGJ1dCB3aXRoIGRpZmZlcmVudCBtYXJrcy4NCi0gICAgICAgICgobmVnIHYpDQotICAgICAg ICAgICAgKGxldCBtMiAoaWZtYXJrZWQyIHYgdHQgKGRvIChtYXJrdmFyMiB2KSBmZikpDQotICAg ICAgICAgICAgKGxldCBtNCAoaWZtYXJrZWQ0IHYgKGRvIChtYXJrdmFyNCB2KSB0dCkgZmYpDQot ICAgICAgICAgICAgKGxldCBjJyAoc2ltcGxpZnlfY2xhdXNlIGMxKQ0KLSAgICAgICAgICAgICAg KGlmbWFya2VkNCB2IChkbyAobWF0Y2ggbTQgKHR0IHYpIChmZiAobWFya3ZhcjQgdikpKQ0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1hdGNoIG0yICh0dCB2KSAoZmYgKG1hcmt2 YXIyIHYpKSkgYycpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAoZmFpbCBjbGF1c2UpKSkp KSkNCi0gICApKSkpDQotDQotDQotOyByZXNvbHV0aW9uIHByb29mcw0KLSAgICAgICAgICANCi0o ZGVjbGFyZSBob2xkcyAoISBjIGNsYXVzZSB0eXBlKSkNCi0NCi0oZGVmaW5lIGJvdHRvbSAoaG9s ZHMgY2xuKSkNCi0NCi0oZGVjbGFyZSBSICghIGMxIGNsYXVzZSAoISBjMiBjbGF1c2UgDQotICAg ICAgICAgICAoISB1MSAoaG9sZHMgYzEpDQotICAgICAgICAgICAoISB1MiAoaG9sZHMgYzIpDQot ICAgICAgICAgICAoISBuIHZhcg0KLSAgICAgICAgICAgIChob2xkcyAoY29uY2F0IChjbHIgKHBv cyBuKSBjMSkNCi0gICAgICAgICAgICAgICAgICAgICAoY2xyIChuZWcgbikgYzIpKSkpKSkpKSkg ICANCi0NCi0oZGVjbGFyZSBRICghIGMxIGNsYXVzZSAoISBjMiBjbGF1c2UgDQotICAgICAgICAg ICAoISB1MSAoaG9sZHMgYzEpDQotICAgICAgICAgICAoISB1MiAoaG9sZHMgYzIpDQotICAgICAg ICAgICAoISBuIHZhcg0KLSAgICAgICAgICAgIChob2xkcyAoY29uY2F0IChjbHIgKG5lZyBuKSBj MSkNCi0gICAgICAgICAgICAgICAgICAgICAoY2xyIChwb3MgbikgYzIpKSkpKSkpKSkNCi0gICAg ICAgICAgICAgICAgICAgICANCi0oZGVjbGFyZSBzYXRsZW0gKCEgYzEgY2xhdXNlDQotICAgICAg ICAgICAgICAgICghIGMyIGNsYXVzZQ0KLSAgICAgICAgICAgICAgICAoISBjMyBjbGF1c2UNCi0g ICAgICAgICAgICAgICAgKCEgdTEgKGhvbGRzIGMxKQ0KLSAgICAgICAgICAgICAgICAoISByIChe IChzaW1wbGlmeV9jbGF1c2UgYzEpIGMyKQ0KLSAgICAgICAgICAgICAgICAoISB1MiAoISB4ICho b2xkcyBjMikgKGhvbGRzIGMzKSkNCi0gICAgICAgICAgICAgICAgICAgKGhvbGRzIGMzKSkpKSkp KSkNCi0NCi0NCi07IEEgbGl0dGxlIGV4YW1wbGUgdG8gZGVtb25zdHJhdGUgc2ltcGxpZnlfY2xh dXNlLg0KLTsgSXQgY2FuIGhhbmRsZSBuZXN0ZWQgY2xyJ3Mgb2YgYm90aCBwb2xhcml0aWVzLA0K LTsgYW5kIGNvcnJlY3RseSBjbGVhbnMgdXAgbWFya3Mgd2hlbiBpdCBsZWF2ZXMgYQ0KLTsgY2xy IG9yIGNsYyBzY29wZS4gIFVuY29tbWVudCBhbmQgcnVuIHdpdGggDQotOyAtLXNob3ctcnVucyB0 byBzZWUgaXQgaW4gYWN0aW9uLg0KLTsgDQotOyAoY2hlY2sgDQotOyAgICglIHYxIHZhcg0KLTsg ICAoJSB1MSAoaG9sZHMgKGNvbmNhdCAoY2xyIChuZWcgdjEpIChjbHIgKHBvcyB2MSkgKGNsYyAo cG9zIHYxKSAoY2xyIChwb3MgdjEpIChjbGMgKHBvcyB2MSkgKGNsYyAobmVnIHYxKSBjbG4pKSkp KSkNCi07ICAgICAgICAgICAgICAgICAgICAoY2xjIChwb3MgdjEpIChjbGMgKHBvcyB2MSkgY2xu KSkpKQ0KLTsgICAgKHNhdGxlbSBfIF8gXyB1MSAoXCB4IHgpKSkpKSkNCi0NCi0NCi07KGNoZWNr IA0KLTsgICAoJSB2MSB2YXINCi07ICAgKCUgdTEgKGhvbGRzIChjbHIgKG5lZyB2MSkgKGNvbmNh dCAoY2xjIChuZWcgdjEpIGNsbikNCi07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoY2xyIChuZWcgdjEpIChjbGMgKG5lZyB2MSkgY2xuKSkpKSkNCi07ICAgIChzYXRsZW0g XyBfIF8gdTEgKFwgeCB4KSkpKSkpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKZGlmZiAt LWdpdCBhL3NtdC5wbGYgYi9zbXQucGxmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAz YWU2ZWRkLi4wMDAwMDAwCi0tLSBhL3NtdC5wbGYKKysrIC9kZXYvbnVsbApAQCAtMSwyNzEgKzAs MCBAQAotOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ci07Ci07IFNNVCBzeW50YXggYW5kIHNlbWFudGlj cyAobm90IHRoZW9yeS1zcGVjaWZpYykKLTsKLTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OwotCi0oZGVj bGFyZSBmb3JtdWxhIHR5cGUpCi0oZGVjbGFyZSB0aF9ob2xkcyAoISBmIGZvcm11bGEgdHlwZSkp Ci0KLTsgY29uc3RhbnRzCi0oZGVjbGFyZSB0cnVlIGZvcm11bGEpCi0oZGVjbGFyZSBmYWxzZSBm b3JtdWxhKQotCi07IGxvZ2ljYWwgY29ubmVjdGl2ZXMKLShkZWNsYXJlIG5vdCAoISBmIGZvcm11 bGEgZm9ybXVsYSkpCi0oZGVjbGFyZSBhbmQgKCEgZjEgZm9ybXVsYSAoISBmMiBmb3JtdWxhIGZv cm11bGEpKSkKLShkZWNsYXJlIG9yICghIGYxIGZvcm11bGEgKCEgZjIgZm9ybXVsYSBmb3JtdWxh KSkpCi0oZGVjbGFyZSBpbXBsICghIGYxIGZvcm11bGEgKCEgZjIgZm9ybXVsYSBmb3JtdWxhKSkp Ci0oZGVjbGFyZSBpZmYgKCEgZjEgZm9ybXVsYSAoISBmMiBmb3JtdWxhIGZvcm11bGEpKSkKLShk ZWNsYXJlIHhvciAoISBmMSBmb3JtdWxhICghIGYyIGZvcm11bGEgZm9ybXVsYSkpKQotKGRlY2xh cmUgaWZ0ZSAoISBiIGZvcm11bGEgKCEgZjEgZm9ybXVsYSAoISBmMiBmb3JtdWxhIGZvcm11bGEp KSkpCi0KLTsgdGVybXMKLShkZWNsYXJlIHNvcnQgdHlwZSkJCTsgc29ydCBpbiB0aGUgdGhlb3J5 Ci0oZGVjbGFyZSBhcnJvdyAoISBzMSBzb3J0ICghIHMyIHNvcnQgc29ydCkpKQk7IGZ1bmN0aW9u IGNvbnN0cnVjdG9yCi0KLShkZWNsYXJlIHRlcm0gKCEgdCBzb3J0IHR5cGUpKQk7IGRlY2xhcmVk IHRlcm1zIGluIGZvcm11bGEKLQotKGRlY2xhcmUgYXBwbHkgKCEgczEgc29ydAotICAgICAgICAg ICAgICAgKCEgczIgc29ydAotICAgICAgICAgICAgICAgKCEgdDEgKHRlcm0gKGFycm93IHMxIHMy KSkKLSAgICAgICAgICAgICAgICghIHQyICh0ZXJtIHMxKQotICAgICAgICAgICAgICAgICh0ZXJt IHMyKSkpKSkpCi0gICAgICAgICAgICAgICAgCi0oZGVjbGFyZSBpdGUgKCEgcyBzb3J0Ci0gICAg ICAgICAgICAgKCEgZiBmb3JtdWxhCi0gICAgICAgICAgICAgKCEgdDEgKHRlcm0gcykKLSAgICAg ICAgICAgICAoISB0MiAodGVybSBzKQotICAgICAgICAgICAgICAgKHRlcm0gcykpKSkpKQotCi07 IGxldC9mbGV0Ci0oZGVjbGFyZSBsZXQgKCEgcyBzb3J0Ci0gICAgICAgICAgICAgKCEgdCAodGVy bSBzKQotICAgICAgICAgICAgICghIGYgKCEgdiAodGVybSBzKSBmb3JtdWxhKQotICAgICAgICAg ICAgICAgZm9ybXVsYSkpKSkKLShkZWNsYXJlIGZsZXQgKCEgZjEgZm9ybXVsYQotICAgICAgICAg ICAgICAoISBmMiAoISB2IGZvcm11bGEgZm9ybXVsYSkKLSAgICAgICAgICAgICAgICBmb3JtdWxh KSkpCi0KLTsgcHJlZGljYXRlcwotKGRlY2xhcmUgPSAoISBzIHNvcnQKLSAgICAgICAgICAgKCEg eCAodGVybSBzKQotICAgICAgICAgICAoISB5ICh0ZXJtIHMpCi0gICAgICAgICAgICAgZm9ybXVs YSkpKSkKLQotKGRlY2xhcmUgZGlzdGluY3QgKCEgcyBzb3J0Ci0gICAgICAgICAgICAgICAgICAo ISB4ICh0ZXJtIHMpCi0gICAgICAgICAgICAgICAgICAoISB5ICh0ZXJtIHMpCi0gICAgICAgICAg ICAgICAgICAgIGZvcm11bGEpKSkpCi0KLTsgVG8gYXZvaWQgZHVwbGljYXRpbmcgc29tZSBvZiB0 aGUgcnVsZXMgKGUuZy4sIGNvbmcpLCB3ZSB3aWxsIHZpZXcKLTsgYXBwbGljYXRpb25zIG9mIHBy ZWRpY2F0ZXMgYXMgdGVybXMgb2Ygc29ydCAiQm9vbCIuCi07IFN1Y2ggdGVybXMgY2FuIGJlIGlu amVjdGVkIGFzIGF0b21pYyBmb3JtdWxhcyB1c2luZyAicF9hcHAiLgotCi0oZGVjbGFyZSBCb29s IHNvcnQpCQkJCQkJCTsgdGhlIHNwZWNpYWwgc29ydCBmb3IgcHJlZGljYXRlcwotKGRlY2xhcmUg cF9hcHAgKCEgeCAodGVybSBCb29sKSBmb3JtdWxhKSkJOyBwcm9wb3NpdGlvbmFsIGFwcGxpY2F0 aW9uIG9mIHRlcm0KLQotCi07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsKLTsgRXhhbXBsZXMKLQotOyBh biBleGFtcGxlIG9mICIocDEgb3IgcDIoMCkpIGFuZCB0MT10MigxKSIKLTsoISBwMSAodGVybSBC b29sKQotOyghIHAyICh0ZXJtIChhcnJvdyBJbnQgQm9vbCkpCi07KCEgdDEgKHRlcm0gSW50KQot OyghIHQyICh0ZXJtIChhcnJvdyBJbnQgSW50KSkKLTsoISBGICh0aF9ob2xkcyAoYW5kIChvciAo cF9hcHAgcDEpIChwX2FwcCAoYXBwbHkgXyBfIHAyIDApKSkKLTsgICAgICAgICAgICAgICAgICAg ICg9IF8gdDEgKGFwcGx5IF8gXyB0MiAxKSkpKQotOyAgLi4uCi0KLTsgYW5vdGhlciBleGFtcGxl IG9mICJwMyhhLGIpIgotOyghIGEgKHRlcm0gSW50KQotOyghIGIgKHRlcm0gSW50KQotOyghIHAz ICh0ZXJtIChhcnJvdyBJbnQgKGFycm93IEludCBCb29sKSkpCTsgYXJyb3cgaXMgcmlnaHQgYXNz b2MuCi07KCEgRiAodGhfaG9sZHMgKHBfYXBwIChhcHBseSBfIF8gKGFwcGx5IF8gXyBwMyBhKSBi KSkpIDsgYXBwbHkgaXMgbGVmdCBhc3NvYy4KLTsgIC4uLgotCi07IG5hdHVyYWwgZGVkdWN0aW9u IHJ1bGVzIGhlcmUKLQotKGRlY2xhcmUgTEVNIAotICAoISBmIGZvcm11bGEKLSAgICAodGhfaG9s ZHMgKG9yIChub3QgZikgZikpKSkKLQotOyBib3R0b20gZWxpbQotKGRlY2xhcmUgYm90dG9tX2Vs aW0gIAotICAoISBmIGZvcm11bGEKLSAgKCEgdSBib3R0b20KLSAgICAodGhfaG9sZHMgZikpKSkK LQotCi07OyBub3Qgbm90Ci0KLShkZWNsYXJlIG5vdF9ub3RfaW50cm8KLSAgKCEgZiBmb3JtdWxh Ci0gICghIHUgKHRoX2hvbGRzIGYpCi0gICAgKHRoX2hvbGRzIChub3QgKG5vdCBmKSkpKSkpCi0g ICAgCi0oZGVjbGFyZSBub3Rfbm90X2VsaW0KLSAgKCEgZiBmb3JtdWxhCi0gICghIHUgKHRoX2hv bGRzIChub3QgKG5vdCBmKSkpCi0gICAgKHRoX2hvbGRzIGYpKSkpCi0KLTs7IG9yIGVsaW1pbmF0 aW9uCi0KLShkZWNsYXJlIG9yX2VsaW1fMQotICAoISBmMSBmb3JtdWxhCi0gICghIGYyIGZvcm11 bGEKLSAgKCEgdTEgKHRoX2hvbGRzIChub3QgZjEpKQotICAoISB1MiAodGhfaG9sZHMgKG9yIGYx IGYyKSkKLSAgICAodGhfaG9sZHMgZjIpKSkpKSkKLSAgICAKLShkZWNsYXJlIG9yX2VsaW1fMgot ICAoISBmMSBmb3JtdWxhCi0gICghIGYyIGZvcm11bGEKLSAgKCEgdTEgKHRoX2hvbGRzIChub3Qg ZjIpKQotICAoISB1MiAodGhfaG9sZHMgKG9yIGYxIGYyKSkKLSAgICAodGhfaG9sZHMgZjEpKSkp KSkKLQotOzsgYW5kIGVsaW1pbmF0aW9uCi0KLShkZWNsYXJlIGFuZF9pbnRybwotICAoISBmMSBm b3JtdWxhCi0gICghIGYyIGZvcm11bGEKLSAgKCEgdTEgKHRoX2hvbGRzIGYxKQotICAoISB1MiAo dGhfaG9sZHMgZjIpCi0gICAgKHRoX2hvbGRzIChhbmQgZjEgZjIpKSkpKSkpCi0KLShkZWNsYXJl IGFuZF9lbGltXzEKLSAgKCEgZjEgZm9ybXVsYQotICAoISBmMiBmb3JtdWxhCi0gICghIHUgKHRo X2hvbGRzIChhbmQgZjEgZjIpKQotICAgICh0aF9ob2xkcyBmMSkpKSkpCi0gICAgCi0oZGVjbGFy ZSBhbmRfZWxpbV8yCi0gICghIGYxIGZvcm11bGEKLSAgKCEgZjIgZm9ybXVsYQotICAoISB1ICh0 aF9ob2xkcyAoYW5kIGYxIGYyKSkKLSAgICAodGhfaG9sZHMgZjIpKSkpKQotICAgIAotOzsgbm90 IGltcGwgZWxpbWluYXRpb24KLQotKGRlY2xhcmUgbm90X2ltcGxfZWxpbV8xCi0gICghIGYxIGZv cm11bGEKLSAgKCEgZjIgZm9ybXVsYQotICAoISB1ICh0aF9ob2xkcyAobm90IChpbXBsIGYxIGYy KSkpCi0gICAgKHRoX2hvbGRzIGYxKSkpKSkKLSAgICAKLShkZWNsYXJlIG5vdF9pbXBsX2VsaW1f MgotICAoISBmMSBmb3JtdWxhCi0gICghIGYyIGZvcm11bGEKLSAgKCEgdSAodGhfaG9sZHMgKG5v dCAoaW1wbCBmMSBmMikpKQotICAgICh0aF9ob2xkcyAobm90IGYyKSkpKSkpCi0gICAgCi07OyBp bXBsIGVsaW1pbmF0aW9uCi0KLShkZWNsYXJlIGltcGxfaW50cm8gKCEgZjEgZm9ybXVsYQ0KLSAg ICAgICAgICAgICAgICAgICAgKCEgZjIgZm9ybXVsYQ0KLSAgICAgICAgICAgICAgICAgICAgKCEg aTEgKCEgdSAodGhfaG9sZHMgZjEpIA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0 aF9ob2xkcyBmMikpDQotICAgICAgICAgICAgICAgICAgICAgICh0aF9ob2xkcyAoaW1wbCBmMSBm MikpKSkpKQotCi0oZGVjbGFyZSBpbXBsX2VsaW0KLSAgKCEgZjEgZm9ybXVsYQotICAoISBmMiBm b3JtdWxhCi0gICghIHUxICh0aF9ob2xkcyBmMSkKLSAgKCEgdTIgKHRoX2hvbGRzIChpbXBsIGYx IGYyKSkgIAotICAgICh0aF9ob2xkcyBmMikpKSkpKQotICAgIAotOzsgaWZmIGVsaW1pbmF0aW9u Ci0KLShkZWNsYXJlIGlmZl9lbGltXzEKLSAgKCEgZjEgZm9ybXVsYQotICAoISBmMiBmb3JtdWxh Ci0gICghIHUxICh0aF9ob2xkcyAoaWZmIGYxIGYyKSkKLSAgICAodGhfaG9sZHMgKGltcGwgZjEg ZjIpKSkpKSkKLSAgICAKLShkZWNsYXJlIGlmZl9lbGltXzIKLSAgKCEgZjEgZm9ybXVsYQotICAo ISBmMiBmb3JtdWxhCi0gICghIHUxICh0aF9ob2xkcyAoaWZmIGYxIGYyKSkKLSAgICAodGhfaG9s ZHMgKGltcGwgZjIgZjEpKSkpKSkKLQotKGRlY2xhcmUgbm90X2lmZl9lbGltXzEKLSAgKCEgZjEg Zm9ybXVsYQotICAoISBmMiBmb3JtdWxhCi0gICghIHUxICh0aF9ob2xkcyAobm90IGYxKSkKLSAg KCEgdTIgKHRoX2hvbGRzIChub3QgKGlmZiBmMSBmMikpKQotICAgICh0aF9ob2xkcyBmMikpKSkp KQotCi0oZGVjbGFyZSBub3RfaWZmX2VsaW1fMgotICAoISBmMSBmb3JtdWxhCi0gICghIGYyIGZv cm11bGEKLSAgKCEgdTEgKHRoX2hvbGRzIGYxKQotICAoISB1MiAodGhfaG9sZHMgKG5vdCAoaWZm IGYxIGYyKSkpCi0gICAgKHRoX2hvbGRzIChub3QgZjIpKSkpKSkpCi0KLTs7IGl0ZSBlbGltaW5h dGlvbgotCi0oZGVjbGFyZSBpdGVfZWxpbV8xCi0gICghIGEgZm9ybXVsYQotICAoISBiIGZvcm11 bGEKLSAgKCEgYyBmb3JtdWxhCi0gICghIHUxICh0aF9ob2xkcyBhKQotICAoISB1MiAodGhfaG9s ZHMgKGlmdGUgYSBiIGMpKQotICAgICh0aF9ob2xkcyBiKSkpKSkpKQotICAgIAotKGRlY2xhcmUg aXRlX2VsaW1fMgotICAoISBhIGZvcm11bGEKLSAgKCEgYiBmb3JtdWxhCi0gICghIGMgZm9ybXVs YQotICAoISB1MSAodGhfaG9sZHMgKG5vdCBhKSkKLSAgKCEgdTIgKHRoX2hvbGRzIChpZnRlIGEg YiBjKSkKLSAgICAodGhfaG9sZHMgYykpKSkpKSkKLSAgICAKLShkZWNsYXJlIGl0ZV9lbGltXzMK LSAgKCEgYSBmb3JtdWxhCi0gICghIGIgZm9ybXVsYQotICAoISBjIGZvcm11bGEKLSAgKCEgdTEg KHRoX2hvbGRzIChub3QgYikpCi0gICghIHUyICh0aF9ob2xkcyAoaWZ0ZSBhIGIgYykpCi0gICAg KHRoX2hvbGRzIGMpKSkpKSkpCi0gICAgCi0oZGVjbGFyZSBpdGVfZWxpbV8ybgotICAoISBhIGZv cm11bGEKLSAgKCEgYiBmb3JtdWxhCi0gICghIGMgZm9ybXVsYQotICAoISB1MSAodGhfaG9sZHMg YSkKLSAgKCEgdTIgKHRoX2hvbGRzIChpZnRlIChub3QgYSkgYiBjKSkKLSAgICAodGhfaG9sZHMg YykpKSkpKSkKLQotKGRlY2xhcmUgbm90X2l0ZV9lbGltXzEKLSAgKCEgYSBmb3JtdWxhCi0gICgh IGIgZm9ybXVsYQotICAoISBjIGZvcm11bGEKLSAgKCEgdTEgKHRoX2hvbGRzIGEpCi0gICghIHUy ICh0aF9ob2xkcyAobm90IChpZnRlIGEgYiBjKSkpCi0gICAgKHRoX2hvbGRzIChub3QgYikpKSkp KSkpCi0gICAgCi0oZGVjbGFyZSBub3RfaXRlX2VsaW1fMgotICAoISBhIGZvcm11bGEKLSAgKCEg YiBmb3JtdWxhCi0gICghIGMgZm9ybXVsYQotICAoISB1MSAodGhfaG9sZHMgKG5vdCBhKSkKLSAg KCEgdTIgKHRoX2hvbGRzIChub3QgKGlmdGUgYSBiIGMpKSkKLSAgICAodGhfaG9sZHMgKG5vdCBj KSkpKSkpKSkKLSAgICAKLShkZWNsYXJlIG5vdF9pdGVfZWxpbV8zCi0gICghIGEgZm9ybXVsYQot ICAoISBiIGZvcm11bGEKLSAgKCEgYyBmb3JtdWxhCi0gICghIHUxICh0aF9ob2xkcyBiKQotICAo ISB1MiAodGhfaG9sZHMgKG5vdCAoaWZ0ZSBhIGIgYykpKQotICAgICh0aF9ob2xkcyAobm90IGMp KSkpKSkpKQotICAgIAotKGRlY2xhcmUgbm90X2l0ZV9lbGltXzJuCi0gICghIGEgZm9ybXVsYQot ICAoISBiIGZvcm11bGEKLSAgKCEgYyBmb3JtdWxhCi0gICghIHUxICh0aF9ob2xkcyBhKQotICAo ISB1MiAodGhfaG9sZHMgKG5vdCAoaWZ0ZSAobm90IGEpIGIgYykpKQotICAgICh0aF9ob2xkcyAo bm90IGMpKSkpKSkpKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKCmRpZmYgLS1naXQgYS9z b3VyY2VzIGIvc291cmNlcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDNiMDY5My4u MDAwMDAwMAotLS0gYS9zb3VyY2VzCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotU0hBNTEy IChsZnNjLTVhMTI3ZGIudGFyLmd6KSA9IDU0ZmUyNWRjNTQxNjFlNWU0M2MzZWUzYjBmNWU4OTBi ODFhYWY0YzliNThlNDE2OTllZDhmNjQ2NzRjODc0MWI0MTE5NmQ3YjFmYmY3ZjVkNzZlYjNlNmQ0 YzdkOTIzYTM2ZDZhNjYzNjhlZDFjZWE2MjE1N2QwNjBkZDBkOTI4CgpkaWZmIC0tZ2l0IGEvdGhf YmFzZS5wbGYgYi90aF9iYXNlLnBsZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTAz NjU0Yy4uMDAwMDAwMAotLS0gYS90aF9iYXNlLnBsZgorKysgL2Rldi9udWxsCkBAIC0xLDEzNSAr MCwwIEBACi07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsNCi07DQotOyBBdG9taXphdGlvbg0KLTsNCi07 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsNCi0gDQotDQotOyBiaW5kaW5nIGJldHdlZW4gYW4gTEYgdmFy IGFuZCBhbiAoYXRvbWljKSBmb3JtdWxhDQotKGRlY2xhcmUgYXRvbSAoISB2IHZhciAoISBwIGZv cm11bGEgdHlwZSkpKQ0KLQ0KLShkZWNsYXJlIGRlY2xfYXRvbQ0KLSAgKCEgZiBmb3JtdWxhDQot ICAoISB1ICghIHYgdmFyIA0KLSAgICAgICAoISBhIChhdG9tIHYgZikNCi0gICAgICAgICBib3R0 b20pKQ0KLSAgICBib3R0b20pKSkNCi0gICAgDQotOyBkaXJlY3QgY2xhdXNpZnkNCi0oZGVjbGFy ZSBjbGF1c2lmeV9mb3JtDQotICAoISBmIGZvcm11bGENCi0gICghIHYgdmFyDQotICAoISBhIChh dG9tIHYgZikNCi0gICghIHUgKHRoX2hvbGRzIGYpDQotICAgIChob2xkcyAoY2xjIChwb3Mgdikg Y2xuKSkpKSkpKQ0KLSAgICANCi0oZGVjbGFyZSBjbGF1c2lmeV9mb3JtX25vdA0KLSAgKCEgZiBm b3JtdWxhDQotICAoISB2IHZhcg0KLSAgKCEgYSAoYXRvbSB2IGYpDQotICAoISB1ICh0aF9ob2xk cyAobm90IGYpKQ0KLSAgICAoaG9sZHMgKGNsYyAobmVnIHYpIGNsbikpKSkpKSkNCi0NCi0oZGVj bGFyZSBjbGF1c2lmeV9mYWxzZQ0KLSAgKCEgdSAodGhfaG9sZHMgZmFsc2UpDQotICAgIGJvdHRv bSkpDQotDQotKGRlY2xhcmUgbGV0X3BmIA0KLSAgKCEgYyBjbGF1c2UNCi0gICghIGMnIGNsYXVz ZQ0KLSAgKCEgdSAoaG9sZHMgYykNCi0gICghIHUyICghIHYgKGhvbGRzIGMpIGJvdHRvbSkNCi0g ICAgYm90dG9tKSkpKSkNCi0gICAgDQotKGRlY2xhcmUgdGhfbGV0X3BmDQotICAoISBmIGZvcm11 bGENCi0gICghIHUgKHRoX2hvbGRzIGYpDQotICAoISB1MiAoISB2ICh0aF9ob2xkcyBmKSBib3R0 b20pDQotICAgIGJvdHRvbSkpKSkNCi0NCi07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsNCi07DQotOyBU aGVvcnkgcmVhc29uaW5nDQotOyAtIG1ha2UgYSBzZXJpZXMgb2YgYXNzdW1wdGlvbnMgYW5kIHRo ZW4gZGVyaXZlIGEgY29udHJhZGljdGlvbiAob3IgZmFsc2UpDQotOyAtIHRoZW4gdGhlIGFzc3Vt cHRpb25zIHlpZWxkIGEgZm9ybXVsYSBsaWtlICJ2MSAtPiB2MiAtPiAuLi4gLT4gdm4gLT4gZmFs c2UiDQotOyAtIEluIENORiwgaXQgYmVjb21lcyBhIGNsYXVzZTogIn52MSwgfnYyLCAuLi4sIH52 biINCi07DQotOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7DQotDQotKGRlY2xhcmUgYXN0DQotICAoISB2 IHZhcg0KLSAgKCEgZiBmb3JtdWxhDQotICAoISBDIGNsYXVzZQ0KLSAgKCEgciAoYXRvbSB2IGYp ICAgICAgIDt0aGlzIGlzIHNwZWNpZmllZA0KLSAgKCEgdSAoISBvICh0aF9ob2xkcyBmKQ0KLSAg ICAgICAgIChob2xkcyBDKSkNCi0gICAgKGhvbGRzIChjbGMgKG5lZyB2KSBDKSkpKSkpKSkNCi0N Ci0oZGVjbGFyZSBhc2YNCi0gICghIHYgdmFyDQotICAoISBmIGZvcm11bGENCi0gICghIEMgY2xh dXNlDQotICAoISByIChhdG9tIHYgZikNCi0gICghIHUgKCEgbyAodGhfaG9sZHMgKG5vdCBmKSkN Ci0gICAgICAgICAoaG9sZHMgQykpDQotICAgIChob2xkcyAoY2xjIChwb3MgdikgQykpKSkpKSkp DQotDQotKGRlY2xhcmUgY29udHJhDQotICAoISBmIGZvcm11bGENCi0gICghIHIxICh0aF9ob2xk cyBmKQ0KLSAgKCEgcjIgKHRoX2hvbGRzIChub3QgZikpDQotICAgIChob2xkcyBjbG4pKSkpKQ0K LQ0KLShkZWNsYXJlIHRoX2FzdA0KLSAgKCEgZiBmb3JtdWxhDQotICAoISB1ICghIG8gKHRoX2hv bGRzIGYpDQotICAgICAgICAgKGhvbGRzIGNsbikpDQotICAgICh0aF9ob2xkcyAobm90IGYpKSkp KQ0KLSAgICANCi0oZGVjbGFyZSB0aF9hc2YNCi0gICghIGYgZm9ybXVsYQ0KLSAgKCEgdSAoISBv ICh0aF9ob2xkcyAobm90IGYpKQ0KLSAgICAgICAgIChob2xkcyBjbG4pKQ0KLSAgICAodGhfaG9s ZHMgZikpKSkNCi0gICAgDQotKGRlY2xhcmUgbGVtDQotICAoISBmIGZvcm11bGENCi0gICghIHYg dmFyDQotICAoISBhIChhdG9tIHYgZikNCi0gICAgKGhvbGRzIChjbGMgKHBvcyB2KSAoY2xjIChu ZWcgdikgY2xuKSkpKSkpKQ0KLQ0KLTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ow0KLTsNCi07IFRoZW9y eSBvZiBFcXVhbGl0eSBhbmQgQ29uZ3J1ZW5jZSBDbG9zdXJlDQotOw0KLTs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ow0KLQ0KLShkZWNsYXJlIHJlZmwNCi0gICghIHMgc29ydA0KLSAgKCEgdCAodGVybSBz KQ0KLSAgICAodGhfaG9sZHMgKD0gcyB0IHQpKSkpKQ0KLQ0KLShkZWNsYXJlIHN5bW0gKCEgcyBz b3J0DQotICAgICAgICAgICAgICAoISB4ICh0ZXJtIHMpDQotICAgICAgICAgICAgICAoISB5ICh0 ZXJtIHMpDQotICAgICAgICAgICAgICAoISB1ICh0aF9ob2xkcyAoPSBfIHggeSkpDQotICAgICAg ICAgICAgICAgICh0aF9ob2xkcyAoPSBfIHkgeCkpKSkpKSkNCi0NCi0oZGVjbGFyZSB0cmFucyAo ISBzIHNvcnQNCi0gICAgICAgICAgICAgICAoISB4ICh0ZXJtIHMpDQotICAgICAgICAgICAgICAg KCEgeSAodGVybSBzKQ0KLSAgICAgICAgICAgICAgICghIHogKHRlcm0gcykNCi0gICAgICAgICAg ICAgICAoISB1ICh0aF9ob2xkcyAoPSBfIHggeSkpDQotICAgICAgICAgICAgICAgKCEgdSAodGhf aG9sZHMgKD0gXyB5IHopKQ0KLSAgICAgICAgICAgICAgICAgKHRoX2hvbGRzICg9IF8geCB6KSkp KSkpKSkpDQotDQotKGRlY2xhcmUgY29uZyAoISBzMSBzb3J0DQotICAgICAgICAgICAgICAoISBz MiBzb3J0DQotICAgICAgICAgICAgICAoISBhMSAodGVybSAoYXJyb3cgczEgczIpKQ0KLSAgICAg ICAgICAgICAgKCEgYjEgKHRlcm0gKGFycm93IHMxIHMyKSkNCi0gICAgICAgICAgICAgICghIGEy ICh0ZXJtIHMxKQ0KLSAgICAgICAgICAgICAgKCEgYjIgKHRlcm0gczEpDQotICAgICAgICAgICAg ICAoISB1MSAodGhfaG9sZHMgKD0gXyBhMSBiMSkpDQotICAgICAgICAgICAgICAoISB1MiAodGhf aG9sZHMgKD0gXyBhMiBiMikpDQotICAgICAgICAgICAgICAgICh0aF9ob2xkcyAoPSBfIChhcHBs eSBfIF8gYTEgYTIpIChhcHBseSBfIF8gYjEgYjIpKSkpKSkpKSkpKSkNCi0gICAgICAgICAgICAg ICAgDQoKZGlmZiAtLWdpdCBhL3RoX2xyYS1jdmMzLnBsZiBiL3RoX2xyYS1jdmMzLnBsZgpkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWNkMjYzOS4uMDAwMDAwMAotLS0gYS90aF9scmEt Y3ZjMy5wbGYKKysrIC9kZXYvbnVsbApAQCAtMSwxMDg5ICswLDAgQEAKLTsgcG9seW5vbWlhbCBu b3JtYWxpemF0aW9uIGZvciB1bmFyeSBtaW51cw0KLQ0KLShkZWNsYXJlIHBuX211bF91LV9jX0wN Ci0gICghIHkgKHRlcm0gUmVhbCkNCi0gICghIHB5IHBvbHkNCi0gICghIHB6IHBvbHkNCi0gICgh IHggbXBxDQotICAoISBwbnkgKHBvbHlfbm9ybSB5IHB5KQ0KLSAgKCEgYSAoXiAocG9seV9tdWxf YyBweSAobXBfbmVnIHgpKSBweikNCi0gICAgKHBvbHlfbm9ybSAoKl9SZWFsICh1LV9SZWFsIChh X3JlYWwgeCkpIHkpIHB6KSkpKSkpKSkNCi0gICAgDQotKGRlY2xhcmUgcG5fbXVsX3UtX2NfUg0K LSAgKCEgeSAodGVybSBSZWFsKQ0KLSAgKCEgcHkgcG9seQ0KLSAgKCEgcHogcG9seQ0KLSAgKCEg eCBtcHENCi0gICghIHBueSAocG9seV9ub3JtIHkgcHkpDQotICAoISBhICheIChwb2x5X211bF9j IHB5IChtcF9uZWcgeCkpIHB6KQ0KLSAgICAocG9seV9ub3JtICgqX1JlYWwgeSAodS1fUmVhbCAo YV9yZWFsIHgpKSkgcHopKSkpKSkpKQ0KLQ0KLShkZWNsYXJlIHBuX3UtDQotICAoISB5ICh0ZXJt IFJlYWwpDQotICAoISBweSBwb2x5DQotICAoISBweiBwb2x5DQotICAoISBwbnkgKHBvbHlfbm9y bSB5IHB5KQ0KLSAgKCEgYSAoXiAocG9seV9uZWcgcHkpIHB6KQ0KLSAgICAocG9seV9ub3JtICh1 LV9SZWFsIHkpIHB6KSkpKSkpKQ0KLSAgIA0KLSAgICANCi07IGFuZCBub3JtYWxpemF0aW9uDQot DQotKHByb2dyYW0gZG9fYW5kX2VsaW0gKChmIGZvcm11bGEpIChjIG1weikgKGlzRW5kIGJvb2wp KSBmb3JtdWxhDQotICAobWF0Y2ggZg0KLSAgICAoKGFuZCBmMSBmMikgDQotICAgICAgKG1wX2lm emVybyBjIA0KLSAgICAgICAgKG1hdGNoIGlzRW5kICh0dCBmKSAoZmYgZjEpKSANCi0gICAgICAg IChkb19hbmRfZWxpbSBmMiAobXBfYWRkIGMgKH4gMSkpIGlzRW5kKSkpDQotICAgIChkZWZhdWx0 IGYpKSkNCi0gICAgDQotKHByb2dyYW0gZG9fYW5kX3JlbSAoKGYgZm9ybXVsYSkgKGMgbXB6KSkg Zm9ybXVsYQ0KLSAgKG1hdGNoIGYNCi0gICAgKChhbmQgZjEgZjIpIChtcF9pZnplcm8gYyBmMiAo YW5kIGYxIChkb19hbmRfcmVtIGYyIChtcF9hZGQgYyAofiAxKSkpKSkpDQotICAgIChkZWZhdWx0 IGYpKSkNCi0gICAgDQotKGRlY2xhcmUgYW5kX2VsaW0NCi0gICghIGYgZm9ybXVsYQ0KLSAgKCEg ZicgZm9ybXVsYQ0KLSAgKCEgYyBtcHoNCi0gICghIHUxICh0aF9ob2xkcyBmKQ0KLSAgKCEgciAo XiAoZG9fYW5kX2VsaW0gZiBjIGZmKSBmJykNCi0gICAgKHRoX2hvbGRzIGYnKSkpKSkpKQ0KLSAg ICANCi0oZGVjbGFyZSBhbmRfZWxpbV9lbmQNCi0gICghIGYgZm9ybXVsYQ0KLSAgKCEgZicgZm9y bXVsYQ0KLSAgKCEgYyBtcHoNCi0gICghIHUxICh0aF9ob2xkcyBmKQ0KLSAgKCEgciAoXiAoZG9f YW5kX2VsaW0gZiBjIHR0KSBmJykNCi0gICAgKHRoX2hvbGRzIGYnKSkpKSkpKQ0KLSAgICANCi0o ZGVjbGFyZSBhbmRfcmVtDQotICAoISBmIGZvcm11bGENCi0gICghIGYnIGZvcm11bGENCi0gICgh IGMgbXB6DQotICAoISB1MSAodGhfaG9sZHMgZikNCi0gICghIHIgKF4gKGRvX2FuZF9yZW0gZiBj KSBmJykNCi0gICAgKHRoX2hvbGRzIGYnKSkpKSkpKQ0KLQ0KLTsgYW5kIG5vcm1hbGl6ZQ0KLShw cm9ncmFtIGRvX2FuZF9ub3JtYWxpemVfaCAoKGYgZm9ybXVsYSkgKGZjIGZvcm11bGEpKSBmb3Jt dWxhDQotICAgIChtYXRjaCBmDQotICAgICA7ICgodHJ1ZSkgZmMpDQotICAgICAgKChhbmQgZjEg ZjIpIChkb19hbmRfbm9ybWFsaXplX2ggZjEgKGRvX2FuZF9ub3JtYWxpemVfaCBmMiBmYykpKQ0K LSAgICAgIChkZWZhdWx0IChhbmQgZiBmYykpKSkNCi0gICAgDQotKHByb2dyYW0gZG9fYW5kX25v cm1hbGl6ZSAoKGYgZm9ybXVsYSkpIGZvcm11bGENCi0gIChtYXRjaCBmDQotICAgICgoYW5kIGYx IGYyKSAoZG9fYW5kX25vcm1hbGl6ZV9oIGYxIChkb19hbmRfbm9ybWFsaXplIGYyKSkpDQotICAg IChkZWZhdWx0IGYpKSkNCi0NCi0oZGVjbGFyZSBhbmRfbm9ybQ0KLSAgKCEgZiBmb3JtdWxhDQot ICAoISBmJyBmb3JtdWxhDQotICAoISB1ICh0aF9ob2xkcyBmKQ0KLSAgKCEgciAoXiAoZG9fYW5k X25vcm1hbGl6ZSBmKSBmJykNCi0gICAgKHRoX2hvbGRzIGYnKSkpKSkpDQotICAgIA0KLShkZWNs YXJlIGFuZF9ub3JtYWxpemUNCi0gICghIGYnIGZvcm11bGENCi0gICghIGYgZm9ybXVsYQ0KLSAg KCEgciAoXiAoZG9fYW5kX25vcm1hbGl6ZSBmKSBmJykNCi0gICAgKHRoX2hvbGRzIChpZmYgZiBm JykpKSkpKQ0KLQ0KLShkZWNsYXJlIGFuZF9uZA0KLSAgKCEgZjEgZm9ybXVsYQ0KLSAgKCEgZjIg Zm9ybXVsYQ0KLSAgKCEgZicgZm9ybXVsYQ0KLSAgKCEgdSAodGhfaG9sZHMgKGlmZiBmMSBmMikp DQotICAoISByICheIChkb19hbmRfbm9ybWFsaXplIGYxKSBmJykNCi0gICAgKHRoX2hvbGRzIChp ZmYgZjEgZjIpKSkpKSkpKQ0KLQ0KLShkZWNsYXJlIGFuZF9yZWR1bmRhbnQNCi0gICghIGYgZm9y bXVsYQ0KLSAgICAodGhfaG9sZHMgKGlmZiAoYW5kIGYgZikgZikpKSkNCi0gICAgDQotKGRlY2xh cmUgYW5kX3N5bW0NCi0gICghIGYxIGZvcm11bGENCi0gICghIGYyIGZvcm11bGENCi0gICAgKHRo X2hvbGRzIChpZmYgKGFuZCBmMSBmMikgKGFuZCBmMiBmMSkpKSkpKQ0KLQ0KLQ0KLQ0KLQ0KLQ0K LTsgb3IgZWxpbWluYXRpb24NCi0NCi0ocHJvZ3JhbSBkb19vcl9lbGltICgoZiBmb3JtdWxhKSAo YyBtcHopIChpc0VuZCBib29sKSkgZm9ybXVsYQ0KLSAgKG1hdGNoIGYNCi0gICAgKChvciBmMSBm MikgDQotICAgICAgKG1wX2lmemVybyBjIA0KLSAgICAgICAgKG1hdGNoIGlzRW5kICh0dCBmKSAo ZmYgZjEpKSANCi0gICAgICAgIChkb19vcl9lbGltIGYyIChtcF9hZGQgYyAofiAxKSkgaXNFbmQp KSkNCi0gICAgKGRlZmF1bHQgZikpKQ0KLQ0KLShkZWNsYXJlIG9yX2VsaW0NCi0gICghIGYgZm9y bXVsYQ0KLSAgKCEgZicgZm9ybXVsYQ0KLSAgKCEgYyBtcHoNCi0gICghIHUxICh0aF9ob2xkcyAo bm90IGYpKQ0KLSAgKCEgciAoXiAoZG9fb3JfZWxpbSBmIGMgZmYpIGYnKQ0KLSAgICAodGhfaG9s ZHMgKG5vdCBmJykpKSkpKSkpDQotICAgIA0KLShkZWNsYXJlIG9yX2VsaW1fZW5kDQotICAoISBm IGZvcm11bGENCi0gICghIGYnIGZvcm11bGENCi0gICghIGMgbXB6DQotICAoISB1MSAodGhfaG9s ZHMgKG5vdCBmKSkNCi0gICghIHIgKF4gKGRvX29yX2VsaW0gZiBjIHR0KSBmJykNCi0gICAgKHRo X2hvbGRzIChub3QgZicpKSkpKSkpKQ0KLQ0KLShwcm9ncmFtIGRvX29yX25vcm1hbGl6ZV9oICgo ZiBmb3JtdWxhKSAoZmMgZm9ybXVsYSkpIGZvcm11bGENCi0gIChtYXRjaCBmDQotICA7ICAoKGZh bHNlKSBmYykNCi0gICAgKChvciBmMSBmMikgKGRvX29yX25vcm1hbGl6ZV9oIGYxIChkb19vcl9u b3JtYWxpemVfaCBmMiBmYykpKQ0KLSAgICAoZGVmYXVsdCAob3IgZiBmYykpKSkNCi0gICAgDQot KHByb2dyYW0gZG9fb3Jfbm9ybWFsaXplICgoZiBmb3JtdWxhKSkgZm9ybXVsYQ0KLSAgKG1hdGNo IGYNCi0gICAgKChvciBmMSBmMikgKGRvX29yX25vcm1hbGl6ZV9oIGYxIChkb19vcl9ub3JtYWxp emUgZjIpKSkNCi0gICAgKGRlZmF1bHQgZikpKQ0KLQ0KLShkZWNsYXJlIG9yX25vcm0NCi0gICgh IGYgZm9ybXVsYQ0KLSAgKCEgZicgZm9ybXVsYQ0KLSAgKCEgdSAodGhfaG9sZHMgZikNCi0gICgh IHIgKF4gKGRvX29yX25vcm1hbGl6ZSBmKSBmJykNCi0gICAgKHRoX2hvbGRzIGYnKSkpKSkpDQot ICAgIA0KLShkZWNsYXJlIG9yX25vcm1hbGl6ZQ0KLSAgKCEgZicgZm9ybXVsYQ0KLSAgKCEgZiBm b3JtdWxhDQotICAoISByICheIChkb19vcl9ub3JtYWxpemUgZikgZicpDQotICAgICh0aF9ob2xk cyAoaWZmIGYgZicpKSkpKSkNCi0gICAgDQotKGRlY2xhcmUgb3JfbmQNCi0gICghIGYxIGZvcm11 bGENCi0gICghIGYyIGZvcm11bGENCi0gICghIGYnIGZvcm11bGENCi0gICghIHUgKHRoX2hvbGRz IChpZmYgZjEgZjIpKQ0KLSAgKCEgciAoXiAoZG9fb3Jfbm9ybWFsaXplIGYxKSBmJykNCi0gICAg KHRoX2hvbGRzIChpZmYgZjEgZjIpKSkpKSkpKQ0KLQ0KLShkZWNsYXJlIG9yX3JlZHVuZGFudA0K LSAgKCEgZiBmb3JtdWxhDQotICAgICh0aF9ob2xkcyAoaWZmIChvciBmIGYpIGYpKSkpDQotICAg IA0KLShkZWNsYXJlIG9yX3N5bW0NCi0gICghIGYxIGZvcm11bGENCi0gICghIGYyIGZvcm11bGEN Ci0gICAgKHRoX2hvbGRzIChpZmYgKG9yIGYxIGYyKSAob3IgZjIgZjEpKSkpKSkNCi0gICAgDQot KGRlY2xhcmUgb3JfaW50cm9fMSANCi0gICghIGYxIGZvcm11bGENCi0gICghIGYyIGZvcm11bGEN Ci0gICghIHYgdmFyDQotICAoISBhIChhdG9tIHYgZjIpDQotICAoISB1ICh0aF9ob2xkcyBmMSkN Ci0gICAgKHRoX2hvbGRzIChvciBmMSBmMikpKSkpKSkpDQotICAgIA0KLShkZWNsYXJlIG9yX2lu dHJvXzIgDQotICAoISBmMSBmb3JtdWxhDQotICAoISBmMiBmb3JtdWxhDQotICAoISB2IHZhcg0K LSAgKCEgYSAoYXRvbSB2IGYyKQ0KLSAgKCEgdSAodGhfaG9sZHMgZjEpDQotICAgICh0aF9ob2xk cyAob3IgZjIgZjEpKSkpKSkpKQ0KLQ0KLQ0KLQ0KLQ0KLQ0KLQ0KLQ0KLTsgdHJhbnNpdGl2aXR5 IGZvciBpZmYNCi0oZGVjbGFyZSBpbXBsX3RyYW5zICghIGYxIGZvcm11bGENCi0gICAgICAgICAg ICAgICAgICAgKCEgZjIgZm9ybXVsYQ0KLSAgICAgICAgICAgICAgICAgICAoISBmMyBmb3JtdWxh DQotICAgICAgICAgICAgICAgICAgICghIGkxICh0aF9ob2xkcyAoaW1wbCBmMSBmMikpDQotICAg ICAgICAgICAgICAgICAgICghIGkyICh0aF9ob2xkcyAoaW1wbCBmMiBmMykpDQotICAgICAgICAg ICAgICAgICAgICAgICh0aF9ob2xkcyAoaW1wbCBmMSBmMykpKSkpKSkpDQotDQotKGRlZmluZSBp bXBsX21wIGltcGxfZWxpbSkNCi0NCi07IHJlZmxleGl2aXR5IGZvciBpbXBsDQotKGRlY2xhcmUg aW1wbF9yZWZsICghIGYgZm9ybXVsYQ0KLSAgICAgICAgICAgICAgICAgICAgICAgKHRoX2hvbGRz IChpbXBsIGYgZikpKSkNCi07IHJlZmxleGl2aXR5IGZvciBpbXBsDQotKGRlY2xhcmUgaW1wbF9y ZWZsX2F0b20gKCEgdiB2YXINCi0gICAgICAgICAgICAgICAgICAgICAgICAoISBmIGZvcm11bGEN Ci0gICAgICAgICAgICAgICAgICAgICAgICAoISBhIChhdG9tIHYgZikNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICh0aF9ob2xkcyAoaW1wbCBmIGYpKSkpKSkNCi0oZGVjbGFyZSBpbXBsX3Jl ZmxfYXRvbV9ub3QgKCEgdiB2YXINCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCEgZiBm b3JtdWxhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICghIGEgKGF0b20gdiBmKQ0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0aF9ob2xkcyAoaW1wbCAobm90IGYpIChub3Qg ZikpKSkpKSkgDQotICAgICAgICAgICAgICAgICAgICAgICAgICANCi0gICAgICAgICAgICAgICAg ICAgICANCi0oZGVjbGFyZSBpbXBsX3JlZmxfZmFsc2UgKHRoX2hvbGRzIChpbXBsIGZhbHNlIGZh bHNlKSkpDQotKGRlY2xhcmUgaW1wbF9yZWZsX3RydWUgKHRoX2hvbGRzIChpbXBsIHRydWUgdHJ1 ZSkpKQ0KLQ0KLTsgc3ltbWV0cnkgZm9yIGlmZg0KLShkZWNsYXJlIGltcGxfc3ltbSAoISBmMSBm b3JtdWxhDQotICAgICAgICAgICAgICAgICAgKCEgZjIgZm9ybXVsYQ0KLSAgICAgICAgICAgICAg ICAgICghIGkxICh0aF9ob2xkcyAoaW1wbCBmMSBmMikpDQotICAgICAgICAgICAgICAgICAgICAo dGhfaG9sZHMgKGltcGwgZjIgZjEpKSkpKSkNCi07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsNCi07DQot OyBSdWxlcyBmb3IgaWZmDQotOw0KLTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ow0KLQ0KLTsgZHVhbCBp bXBsaWNhdGlvbiBpcyBpZmYNCi0oZGVjbGFyZSBpZmZfaW50cm8gKCEgZjEgZm9ybXVsYQ0KLSAg ICAgICAgICAgICAgICAgICAoISBmMiBmb3JtdWxhDQotICAgICAgICAgICAgICAgICAgICghIGkx ICh0aF9ob2xkcyAoaW1wbCBmMSBmMikpDQotICAgICAgICAgICAgICAgICAgICghIGkyICh0aF9o b2xkcyAoaW1wbCBmMiBmMSkpDQotICAgICAgICAgICAgICAgICAgICAgKHRoX2hvbGRzIChpZmYg ZjEgZjIpKSkpKSkpDQotDQotOyByZWZsZXhpdml0eSBmb3IgaWZmDQotKGRlY2xhcmUgaWZmX3Jl ZmxfZmFsc2UgKHRoX2hvbGRzIChpZmYgZmFsc2UgZmFsc2UpKSkNCi0oZGVjbGFyZSBpZmZfcmVm bF90cnVlICh0aF9ob2xkcyAoaWZmIHRydWUgdHJ1ZSkpKQ0KLShkZWNsYXJlIGlmZl9yZWZsIA0K LSAgKCEgZiBmb3JtdWxhDQotICAgICh0aF9ob2xkcyAoaWZmIGYgZikpKSkNCi0NCi07IHN5bW1l dHJ5IGZvciBpZmYNCi0oZGVjbGFyZSBpZmZfc3ltbSAoISBmMSBmb3JtdWxhDQotICAgICAgICAg ICAgICAgICAgKCEgZjIgZm9ybXVsYQ0KLSAgICAgICAgICAgICAgICAgICghIGkxICh0aF9ob2xk cyAoaWZmIGYxIGYyKSkNCi0gICAgICAgICAgICAgICAgICAgICh0aF9ob2xkcyAoaWZmIGYyIGYx KSkpKSkpDQotDQotOyB0cmFuc2l0aXZpdHkgZm9yIGlmZg0KLShkZWNsYXJlIGlmZl90cmFucyAo ISBmMSBmb3JtdWxhDQotICAgICAgICAgICAgICAgICAgICghIGYyIGZvcm11bGENCi0gICAgICAg ICAgICAgICAgICAgKCEgZjMgZm9ybXVsYQ0KLSAgICAgICAgICAgICAgICAgICAoISBpMSAodGhf aG9sZHMgKGlmZiBmMSBmMikpDQotICAgICAgICAgICAgICAgICAgICghIGkyICh0aF9ob2xkcyAo aWZmIGYyIGYzKSkNCi0gICAgICAgICAgICAgICAgICAgICAgKHRoX2hvbGRzIChpZmYgZjEgZjMp KSkpKSkpKQ0KLSAgICAgICAgICAgICAgICAgIA0KLTsgbXAgZm9yIGlmZg0KLShkZWNsYXJlIGlm Zl9tcCAoISBmMSBmb3JtdWxhDQotICAgICAgICAgICAgICAgICghIGYyIGZvcm11bGENCi0gICAg ICAgICAgICAgICAgKCEgaTEgKHRoX2hvbGRzIGYxKQ0KLSAgICAgICAgICAgICAgICAoISBpMiAo dGhfaG9sZHMgKGlmZiBmMSBmMikpDQotICAgICAgICAgICAgICAgICAgKHRoX2hvbGRzIGYyKSkp KSkpDQotDQotOzsNCi0NCi0oZGVjbGFyZSBiYXNpY19zdWJzdF9vcF89DQotICAoISB0MSAodGVy bSBSZWFsKQ0KLSAgKCEgdDIgKHRlcm0gUmVhbCkNCi0gICghIHQzICh0ZXJtIFJlYWwpDQotICAo ISB0NCAodGVybSBSZWFsKQ0KLSAgKCEgaTEgKHRoX2hvbGRzICg9IFJlYWwgdDEgdDIpKQ0KLSAg KCEgaTIgKHRoX2hvbGRzICg9IFJlYWwgdDMgdDQpKQ0KLSAgICAodGhfaG9sZHMgKGlmZiAoPSBS ZWFsIHQxIHQzKSAoPSBSZWFsIHQyIHQ0KSkpKSkpKSkpKQ0KLSAgICANCi0oZGVjbGFyZSBiYXNp Y19zdWJzdF9vcF88DQotICAoISB0MSAodGVybSBSZWFsKQ0KLSAgKCEgdDIgKHRlcm0gUmVhbCkN Ci0gICghIHQzICh0ZXJtIFJlYWwpDQotICAoISB0NCAodGVybSBSZWFsKQ0KLSAgKCEgaTEgKHRo X2hvbGRzICg9IFJlYWwgdDEgdDIpKQ0KLSAgKCEgaTIgKHRoX2hvbGRzICg9IFJlYWwgdDMgdDQp KQ0KLSAgICAodGhfaG9sZHMgKGlmZiAoPF9SZWFsIHQxIHQzKSAoPF9SZWFsIHQyIHQ0KSkpKSkp KSkpKQ0KLSAgICANCi0oZGVjbGFyZSBiYXNpY19zdWJzdF9vcF8+DQotICAoISB0MSAodGVybSBS ZWFsKQ0KLSAgKCEgdDIgKHRlcm0gUmVhbCkNCi0gICghIHQzICh0ZXJtIFJlYWwpDQotICAoISB0 NCAodGVybSBSZWFsKQ0KLSAgKCEgaTEgKHRoX2hvbGRzICg9IFJlYWwgdDEgdDIpKQ0KLSAgKCEg aTIgKHRoX2hvbGRzICg9IFJlYWwgdDMgdDQpKQ0KLSAgICAodGhfaG9sZHMgKGlmZiAoPl9SZWFs IHQxIHQzKSAoPl9SZWFsIHQyIHQ0KSkpKSkpKSkpKQ0KLSAgICANCi0oZGVjbGFyZSBiYXNpY19z dWJzdF9vcF88PQ0KLSAgKCEgdDEgKHRlcm0gUmVhbCkNCi0gICghIHQyICh0ZXJtIFJlYWwpDQot ICAoISB0MyAodGVybSBSZWFsKQ0KLSAgKCEgdDQgKHRlcm0gUmVhbCkNCi0gICghIGkxICh0aF9o b2xkcyAoPSBSZWFsIHQxIHQyKSkNCi0gICghIGkyICh0aF9ob2xkcyAoPSBSZWFsIHQzIHQ0KSkN Ci0gICAgKHRoX2hvbGRzIChpZmYgKDw9X1JlYWwgdDEgdDMpICg8PV9SZWFsIHQyIHQ0KSkpKSkp KSkpKQ0KLSAgICANCi0oZGVjbGFyZSBiYXNpY19zdWJzdF9vcF8+PQ0KLSAgKCEgdDEgKHRlcm0g UmVhbCkNCi0gICghIHQyICh0ZXJtIFJlYWwpDQotICAoISB0MyAodGVybSBSZWFsKQ0KLSAgKCEg dDQgKHRlcm0gUmVhbCkNCi0gICghIGkxICh0aF9ob2xkcyAoPSBSZWFsIHQxIHQyKSkNCi0gICgh IGkyICh0aF9ob2xkcyAoPSBSZWFsIHQzIHQ0KSkNCi0gICAgKHRoX2hvbGRzIChpZmYgKD49X1Jl YWwgdDEgdDMpICg+PV9SZWFsIHQyIHQ0KSkpKSkpKSkpKQ0KLSAgICANCi0oZGVjbGFyZSBiYXNp Y19zdWJzdF9vcF9kaXN0aW5jdA0KLSAgKCEgdDEgKHRlcm0gUmVhbCkNCi0gICghIHQyICh0ZXJt IFJlYWwpDQotICAoISB0MyAodGVybSBSZWFsKQ0KLSAgKCEgdDQgKHRlcm0gUmVhbCkNCi0gICgh IGkxICh0aF9ob2xkcyAoPSBSZWFsIHQxIHQyKSkNCi0gICghIGkyICh0aF9ob2xkcyAoPSBSZWFs IHQzIHQ0KSkNCi0gICAgKHRoX2hvbGRzIChpZmYgKGRpc3RpbmN0IFJlYWwgdDEgdDMpIChkaXN0 aW5jdCBSZWFsIHQyIHQ0KSkpKSkpKSkpKQ0KLSAgICANCi0gICAgDQotOzsgc3Vic3Qgb3AxDQot ICAgIA0KLShkZWNsYXJlIGJhc2ljX3N1YnN0X29wMV8rDQotICAoISB0MSAodGVybSBSZWFsKQ0K LSAgKCEgdDIgKHRlcm0gUmVhbCkNCi0gICghIHQzICh0ZXJtIFJlYWwpDQotICAoISB0NCAodGVy bSBSZWFsKQ0KLSAgKCEgaTEgKHRoX2hvbGRzICg9IFJlYWwgdDEgdDIpKQ0KLSAgKCEgaTIgKHRo X2hvbGRzICg9IFJlYWwgdDMgdDQpKQ0KLSAgICAodGhfaG9sZHMgKD0gUmVhbCAoK19SZWFsIHQx IHQzKSAoK19SZWFsIHQyIHQ0KSkpKSkpKSkpKQ0KLSAgICANCi0oZGVjbGFyZSBiYXNpY19zdWJz dF9vcDFfLQ0KLSAgKCEgdDEgKHRlcm0gUmVhbCkNCi0gICghIHQyICh0ZXJtIFJlYWwpDQotICAo ISB0MyAodGVybSBSZWFsKQ0KLSAgKCEgdDQgKHRlcm0gUmVhbCkNCi0gICghIGkxICh0aF9ob2xk cyAoPSBSZWFsIHQxIHQyKSkNCi0gICghIGkyICh0aF9ob2xkcyAoPSBSZWFsIHQzIHQ0KSkNCi0g ICAgKHRoX2hvbGRzICg9IFJlYWwgKC1fUmVhbCB0MSB0MykgKC1fUmVhbCB0MiB0NCkpKSkpKSkp KSkNCi0gICAgDQotKGRlY2xhcmUgYmFzaWNfc3Vic3Rfb3AxXyoNCi0gICghIHQxICh0ZXJtIFJl YWwpDQotICAoISB0MiAodGVybSBSZWFsKQ0KLSAgKCEgdDMgKHRlcm0gUmVhbCkNCi0gICghIHQ0 ICh0ZXJtIFJlYWwpDQotICAoISBpMSAodGhfaG9sZHMgKD0gUmVhbCB0MSB0MikpDQotICAoISBp MiAodGhfaG9sZHMgKD0gUmVhbCB0MyB0NCkpDQotICAgICh0aF9ob2xkcyAoPSBSZWFsICgqX1Jl YWwgdDEgdDMpICgqX1JlYWwgdDIgdDQpKSkpKSkpKSkpDQotICAgIA0KLShkZWNsYXJlIGJhc2lj X3N1YnN0X29wMV9vcg0KLSAgKCEgZjEgZm9ybXVsYQ0KLSAgKCEgZjIgZm9ybXVsYQ0KLSAgKCEg ZjMgZm9ybXVsYQ0KLSAgKCEgZjQgZm9ybXVsYQ0KLSAgKCEgaTEgKHRoX2hvbGRzIChpZmYgZjEg ZjIpKQ0KLSAgKCEgaTIgKHRoX2hvbGRzIChpZmYgZjMgZjQpKQ0KLSAgICAodGhfaG9sZHMgKGlm ZiAob3IgZjEgZjMpIChvciBmMiBmNCkpKSkpKSkpKSkNCi0gICAgDQotKGRlY2xhcmUgYmFzaWNf c3Vic3Rfb3AxX2FuZA0KLSAgKCEgZjEgZm9ybXVsYQ0KLSAgKCEgZjIgZm9ybXVsYQ0KLSAgKCEg ZjMgZm9ybXVsYQ0KLSAgKCEgZjQgZm9ybXVsYQ0KLSAgKCEgaTEgKHRoX2hvbGRzIChpZmYgZjEg ZjIpKQ0KLSAgKCEgaTIgKHRoX2hvbGRzIChpZmYgZjMgZjQpKQ0KLSAgICAodGhfaG9sZHMgKGlm ZiAoYW5kIGYxIGYzKSAoYW5kIGYyIGY0KSkpKSkpKSkpKQ0KLQ0KLShkZWNsYXJlIGJhc2ljX3N1 YnN0X29wMV9pZmYNCi0gICghIGYxIGZvcm11bGENCi0gICghIGYyIGZvcm11bGENCi0gICghIGYz IGZvcm11bGENCi0gICghIGY0IGZvcm11bGENCi0gICghIGkxICh0aF9ob2xkcyAoaWZmIGYxIGYy KSkNCi0gICghIGkyICh0aF9ob2xkcyAoaWZmIGYzIGY0KSkNCi0gICAgKHRoX2hvbGRzIChpZmYg KGlmZiBmMSBmMykgKGlmZiBmMiBmNCkpKSkpKSkpKSkNCi0NCi0oZGVmaW5lIGJhc2ljX3N1YnN0 X29wMV89IGJhc2ljX3N1YnN0X29wXz0pDQotKGRlZmluZSBiYXNpY19zdWJzdF9vcDFfPj0gYmFz aWNfc3Vic3Rfb3BfPj0pDQotKGRlZmluZSBiYXNpY19zdWJzdF9vcDFfPD0gYmFzaWNfc3Vic3Rf b3BfPD0pDQotKGRlZmluZSBiYXNpY19zdWJzdF9vcDFfPiBiYXNpY19zdWJzdF9vcF8+KQ0KLShk ZWZpbmUgYmFzaWNfc3Vic3Rfb3AxXzwgYmFzaWNfc3Vic3Rfb3BfPCkNCi0oZGVmaW5lIGJhc2lj X3N1YnN0X29wMV9kaXN0aW5jdCBiYXNpY19zdWJzdF9vcF9kaXN0aW5jdCkNCi0NCi0oZGVjbGFy ZSBiYXNpY19zdWJzdF9vcDFfaW1wbF9vcg0KLSAgKCEgZjEgZm9ybXVsYQ0KLSAgKCEgZjIgZm9y bXVsYQ0KLSAgKCEgZjMgZm9ybXVsYQ0KLSAgKCEgZjQgZm9ybXVsYQ0KLSAgKCEgaTEgKHRoX2hv bGRzIChpbXBsIGYxIGYyKSkNCi0gICghIGkyICh0aF9ob2xkcyAoaW1wbCBmMyBmNCkpDQotICAg ICh0aF9ob2xkcyAoaW1wbCAob3IgZjEgZjMpIChvciBmMiBmNCkpKSkpKSkpKSkNCi0gICAgDQot KGRlY2xhcmUgYmFzaWNfc3Vic3Rfb3AxX2ltcGxfYW5kDQotICAoISBmMSBmb3JtdWxhDQotICAo ISBmMiBmb3JtdWxhDQotICAoISBmMyBmb3JtdWxhDQotICAoISBmNCBmb3JtdWxhDQotICAoISBp MSAodGhfaG9sZHMgKGltcGwgZjEgZjIpKQ0KLSAgKCEgaTIgKHRoX2hvbGRzIChpbXBsIGYzIGY0 KSkNCi0gICAgKHRoX2hvbGRzIChpbXBsIChhbmQgZjEgZjMpIChhbmQgZjIgZjQpKSkpKSkpKSkp DQotICAgIA0KLQ0KLQ0KLShkZWNsYXJlIGJhc2ljX3N1YnN0X29wMF9ub3QNCi0gICghIGYxIGZv cm11bGENCi0gICghIGYyIGZvcm11bGENCi0gICghIGkxICh0aF9ob2xkcyAoaWZmIGYxIGYyKSkN Ci0gICAgKHRoX2hvbGRzIChpZmYgKG5vdCBmMSkgKG5vdCBmMikpKSkpKSkNCi0gICAgDQotKGRl Y2xhcmUgYmFzaWNfc3Vic3Rfb3AwX3UtDQotICAoISB0MSAodGVybSBSZWFsKQ0KLSAgKCEgdDIg KHRlcm0gUmVhbCkNCi0gICghIGkxICh0aF9ob2xkcyAoPSBSZWFsIHQxIHQyKSkNCi0gICAgKHRo X2hvbGRzICg9IFJlYWwgKHUtX1JlYWwgdDEpICh1LV9SZWFsIHQyKSkpKSkpKQ0KLSAgICANCi0o ZGVjbGFyZSBvcHRpbWl6ZWRfc3Vic3Rfb3BfaXRlDQotICAoISBmIGZvcm11bGENCi0gICghIGYx IGZvcm11bGENCi0gICghIGYyIGZvcm11bGENCi0gICghIHQxICh0ZXJtIFJlYWwpDQotICAoISB0 MiAodGVybSBSZWFsKQ0KLSAgKCEgdDMgKHRlcm0gUmVhbCkNCi0gICghIHQ0ICh0ZXJtIFJlYWwp DQotICAoISB1MSAodGhfaG9sZHMgKD0gUmVhbCAoaXRlIFJlYWwgZiB0MSB0MikgKGl0ZSBSZWFs IGYgdDMgdDQpKSkNCi0gICghIHUyICh0aF9ob2xkcyAoaWZmIGYxIGYyKSkNCi0gICAgKHRoX2hv bGRzICg9IFJlYWwgKGl0ZSBSZWFsIGYxIHQxIHQyKSAoaXRlIFJlYWwgZjIgdDMgdDQpKSkpKSkp KSkpKSkpDQotICAgIA0KLShkZWNsYXJlIG9wdGltaXplZF9zdWJzdF9vcF9pdGVfdDENCi0gICgh IGYxIGZvcm11bGENCi0gICghIGYyIGZvcm11bGENCi0gICghIHQgKHRlcm0gUmVhbCkNCi0gICgh IHQxICh0ZXJtIFJlYWwpDQotICAoISB0MiAodGVybSBSZWFsKQ0KLSAgKCEgdDMgKHRlcm0gUmVh bCkNCi0gICghIHQ0ICh0ZXJtIFJlYWwpDQotICAoISB1MSAodGhfaG9sZHMgKD0gUmVhbCAoaXRl IFJlYWwgZjEgdCB0MikgKGl0ZSBSZWFsIGYyIHQgdDQpKSkNCi0gICghIHUgKHRoX2hvbGRzICg9 IFJlYWwgdDEgdDMpKQ0KLSAgICAodGhfaG9sZHMgKD0gUmVhbCAoaXRlIFJlYWwgZjEgdDEgdDIp IChpdGUgUmVhbCBmMiB0MyB0NCkpKSkpKSkpKSkpKSkNCi0gICAgDQotKGRlY2xhcmUgb3B0aW1p emVkX3N1YnN0X29wX2l0ZV90Mg0KLSAgKCEgZjEgZm9ybXVsYQ0KLSAgKCEgZjIgZm9ybXVsYQ0K LSAgKCEgdCAodGVybSBSZWFsKQ0KLSAgKCEgdDEgKHRlcm0gUmVhbCkNCi0gICghIHQyICh0ZXJt IFJlYWwpDQotICAoISB0MyAodGVybSBSZWFsKQ0KLSAgKCEgdDQgKHRlcm0gUmVhbCkNCi0gICgh IHUxICh0aF9ob2xkcyAoPSBSZWFsIChpdGUgUmVhbCBmMSB0MSB0KSAoaXRlIFJlYWwgZjIgdDMg dCkpKQ0KLSAgKCEgdSAodGhfaG9sZHMgKD0gUmVhbCB0MiB0NCkpDQotICAgICh0aF9ob2xkcyAo PSBSZWFsIChpdGUgUmVhbCBmMSB0MSB0MikgKGl0ZSBSZWFsIGYyIHQzIHQ0KSkpKSkpKSkpKSkp KQ0KLSAgICANCi0gICAgDQotKGRlY2xhcmUgb3B0aW1pemVkX3N1YnN0X29wX2lmdGUNCi0gICgh IGYgZm9ybXVsYQ0KLSAgKCEgZjEgZm9ybXVsYQ0KLSAgKCEgZjIgZm9ybXVsYQ0KLSAgKCEgZnQx IGZvcm11bGENCi0gICghIGZ0MiBmb3JtdWxhDQotICAoISBmdDMgZm9ybXVsYQ0KLSAgKCEgZnQ0 IGZvcm11bGENCi0gICghIHUxICh0aF9ob2xkcyAoaWZmIChpZnRlIGYgZnQxIGZ0MikgKGlmdGUg ZiBmdDMgZnQ0KSkpDQotICAoISB1MiAodGhfaG9sZHMgKGlmZiBmMSBmMikpDQotICAgICh0aF9o b2xkcyAoaWZmIChpZnRlIGYxIGZ0MSBmdDIpIChpZnRlIGYyIGZ0MyBmdDQpKSkpKSkpKSkpKSkp DQotICAgIA0KLShkZWNsYXJlIG9wdGltaXplZF9zdWJzdF9vcF9pZnRlX3QxDQotICAoISBmMSBm b3JtdWxhDQotICAoISBmMiBmb3JtdWxhDQotICAoISBmdCBmb3JtdWxhDQotICAoISBmdDEgZm9y bXVsYQ0KLSAgKCEgZnQyIGZvcm11bGENCi0gICghIGZ0MyBmb3JtdWxhDQotICAoISBmdDQgZm9y bXVsYQ0KLSAgKCEgdTEgKHRoX2hvbGRzIChpZmYgKGlmdGUgZjEgZnQgZnQyKSAoaWZ0ZSBmMiBm dCBmdDQpKSkNCi0gICghIHUgKHRoX2hvbGRzIChpZmYgZnQxIGZ0MykpDQotICAgICh0aF9ob2xk cyAoaWZmIChpZnRlIGYxIGZ0MSBmdDIpIChpZnRlIGYyIGZ0MyBmdDQpKSkpKSkpKSkpKSkpDQot ICAgIA0KLShkZWNsYXJlIG9wdGltaXplZF9zdWJzdF9vcF9pZnRlX3QyDQotICAoISBmMSBmb3Jt dWxhDQotICAoISBmMiBmb3JtdWxhDQotICAoISBmdCBmb3JtdWxhDQotICAoISBmdDEgZm9ybXVs YQ0KLSAgKCEgZnQyIGZvcm11bGENCi0gICghIGZ0MyBmb3JtdWxhDQotICAoISBmdDQgZm9ybXVs YQ0KLSAgKCEgdTEgKHRoX2hvbGRzIChpZmYgKGlmdGUgZjEgZnQxIGZ0KSAoaWZ0ZSBmMiBmdDMg ZnQpKSkNCi0gICghIHUgKHRoX2hvbGRzIChpZmYgZnQyIGZ0NCkpDQotICAgICh0aF9ob2xkcyAo aWZmIChpZnRlIGYxIGZ0MSBmdDIpIChpZnRlIGYyIGZ0MyBmdDQpKSkpKSkpKSkpKSkpDQotICAg IA0KLShkZWNsYXJlIG9wdGltaXplZF9zdWJzdF9vcF9pbXBsX2l0ZQ0KLSAgKCEgZjEgZm9ybXVs YQ0KLSAgKCEgZjIgZm9ybXVsYQ0KLSAgKCEgdDEgKHRlcm0gUmVhbCkNCi0gICghIHQyICh0ZXJt IFJlYWwpDQotICAoISB1ICh0aF9ob2xkcyAoaW1wbCBmMSBmMikpDQotICAgICh0aF9ob2xkcyAo PSBSZWFsIChpdGUgUmVhbCBmMSB0MSB0MikgKGl0ZSBSZWFsIGYyIHQxIHQyKSkpKSkpKSkpDQot ICAgIA0KLShkZWNsYXJlIG9wdGltaXplZF9zdWJzdF9vcF9pbXBsX2FuZA0KLSAgKCEgZjEgZm9y bXVsYQ0KLSAgKCEgZjIgZm9ybXVsYQ0KLSAgKCEgZjMgZm9ybXVsYQ0KLSAgKCEgdSAodGhfaG9s ZHMgKGltcGwgZjEgZjIpKQ0KLSAgICAodGhfaG9sZHMgKGltcGwgKGFuZCBmMSBmMykgKGFuZCBm MSBmMykpKSkpKSkpDQotICAgIA0KLShkZWNsYXJlIG9wdGltaXplZF9zdWJzdF9vcF9pbXBsX29y DQotICAoISBmMSBmb3JtdWxhDQotICAoISBmMiBmb3JtdWxhDQotICAoISBmMyBmb3JtdWxhDQot ICAoISB1ICh0aF9ob2xkcyAoaW1wbCBmMSBmMikpDQotICAgICh0aF9ob2xkcyAoaW1wbCAob3Ig ZjEgZjMpIChvciBmMSBmMykpKSkpKSkpDQotICAgIA0KLSAgICANCi07OyByZWFsIHNoYWRvdw0K LQ0KLShkZWNsYXJlIHJlYWxfc2hhZG93XzxfPA0KLSAgKCEgdDEgKHRlcm0gUmVhbCkNCi0gICgh IHQyICh0ZXJtIFJlYWwpDQotICAoISB0MyAodGVybSBSZWFsKQ0KLSAgKCEgZjEgKHRoX2hvbGRz ICg8X1JlYWwgdDEgdDIpKQ0KLSAgKCEgZjIgKHRoX2hvbGRzICg8X1JlYWwgdDIgdDMpKQ0KLSAg ICAodGhfaG9sZHMgKDxfUmVhbCB0MSB0MykpKSkpKSkpDQotICAgIA0KLShkZWNsYXJlIHJlYWxf c2hhZG93XzxfPD0NCi0gICghIHQxICh0ZXJtIFJlYWwpDQotICAoISB0MiAodGVybSBSZWFsKQ0K LSAgKCEgdDMgKHRlcm0gUmVhbCkNCi0gICghIGYxICh0aF9ob2xkcyAoPF9SZWFsIHQxIHQyKSkN Ci0gICghIGYyICh0aF9ob2xkcyAoPD1fUmVhbCB0MiB0MykpDQotICAgICh0aF9ob2xkcyAoPF9S ZWFsIHQxIHQzKSkpKSkpKSkNCi0gICAgDQotKGRlY2xhcmUgcmVhbF9zaGFkb3dfPD1fPA0KLSAg KCEgdDEgKHRlcm0gUmVhbCkNCi0gICghIHQyICh0ZXJtIFJlYWwpDQotICAoISB0MyAodGVybSBS ZWFsKQ0KLSAgKCEgZjEgKHRoX2hvbGRzICg8PV9SZWFsIHQxIHQyKSkNCi0gICghIGYyICh0aF9o b2xkcyAoPF9SZWFsIHQyIHQzKSkNCi0gICAgKHRoX2hvbGRzICg8X1JlYWwgdDEgdDMpKSkpKSkp KQ0KLSAgICANCi0oZGVjbGFyZSByZWFsX3NoYWRvd188PV88PQ0KLSAgKCEgdDEgKHRlcm0gUmVh bCkNCi0gICghIHQyICh0ZXJtIFJlYWwpDQotICAoISB0MyAodGVybSBSZWFsKQ0KLSAgKCEgZjEg KHRoX2hvbGRzICg8PV9SZWFsIHQxIHQyKSkNCi0gICghIGYyICh0aF9ob2xkcyAoPD1fUmVhbCB0 MiB0MykpDQotICAgICh0aF9ob2xkcyAoPD1fUmVhbCB0MSB0MykpKSkpKSkpDQotICAgIA0KLTs7 IHJlYWwgc2hhZG93IGVxDQotDQotKGRlY2xhcmUgcmVhbF9zaGFkb3dfZXENCi0gKCEgdDEgKHRl cm0gUmVhbCkNCi0gKCEgdDIgKHRlcm0gUmVhbCkNCi0gKCEgaTEgKHRoX2hvbGRzICg8PV9SZWFs IHQxIHQyKSkNCi0gKCEgaTIgKHRoX2hvbGRzICg8PV9SZWFsIHQyIHQxKSkNCi0gICAodGhfaG9s ZHMgKD0gUmVhbCB0MSB0MikpKSkpKSkNCi0NCi07OyBhZGQgaW5lcXVhbGl0aWVzIA0KLQ0KLShk ZWNsYXJlIGFkZF9pbmVxdWFsaXRpZXNfPF88PQ0KLSAgKCEgdDEgKHRlcm0gUmVhbCkNCi0gICgh IHQyICh0ZXJtIFJlYWwpDQotICAoISB0MyAodGVybSBSZWFsKQ0KLSAgKCEgdDQgKHRlcm0gUmVh bCkNCi0gICghZjEgKHRoX2hvbGRzICggPF9SZWFsIHQxIHQyKSkNCi0gICghZjIgKHRoX2hvbGRz ICggPD1fUmVhbCB0MyB0NCkpDQotICAgICh0aF9ob2xkcyAoPF9SZWFsICgrX1JlYWwgdDEgdDMp ICgrX1JlYWwgdDIgdDQpKSkpKSkpKSkpDQotDQotDQotOzsgcmlnaHQgbWludXMgbGVmdA0KLQ0K LShkZWNsYXJlIHJpZ2h0X21pbnVzX2xlZnRfPQ0KLSAgKCEgeCAodGVybSBSZWFsKQ0KLSAgKCEg eSAodGVybSBSZWFsKQ0KLSAgICAodGhfaG9sZHMgKGlmZiAoPSBSZWFsIHggeSkgKD0gUmVhbCAo YV9yZWFsIDAvMSkgKC1fUmVhbCB5IHgpKSkpKSkpDQotICAgIA0KLShkZWNsYXJlIHJpZ2h0X21p bnVzX2xlZnRfPg0KLSAgKCEgeCAodGVybSBSZWFsKQ0KLSAgKCEgeSAodGVybSBSZWFsKQ0KLSAg ICAodGhfaG9sZHMgKGlmZiAoPl9SZWFsIHggeSkgKD5fUmVhbCAoYV9yZWFsIDAvMSkgKC1fUmVh bCB5IHgpKSkpKSkpDQotICAgIA0KLShkZWNsYXJlIHJpZ2h0X21pbnVzX2xlZnRfPA0KLSAgKCEg eCAodGVybSBSZWFsKQ0KLSAgKCEgeSAodGVybSBSZWFsKQ0KLSAgICAodGhfaG9sZHMgKGlmZiAo PF9SZWFsIHggeSkgKDxfUmVhbCAoYV9yZWFsIDAvMSkgKC1fUmVhbCB5IHgpKSkpKSkpDQotICAg IA0KLShkZWNsYXJlIHJpZ2h0X21pbnVzX2xlZnRfPj0NCi0gICghIHggKHRlcm0gUmVhbCkNCi0g ICghIHkgKHRlcm0gUmVhbCkNCi0gICAgKHRoX2hvbGRzIChpZmYgKD49X1JlYWwgeCB5KSAoPj1f UmVhbCAoYV9yZWFsIDAvMSkgKC1fUmVhbCB5IHgpKSkpKSkpDQotICAgIA0KLShkZWNsYXJlIHJp Z2h0X21pbnVzX2xlZnRfPD0NCi0gICghIHggKHRlcm0gUmVhbCkNCi0gICghIHkgKHRlcm0gUmVh bCkNCi0gICAgKHRoX2hvbGRzIChpZmYgKDw9X1JlYWwgeCB5KSAoPD1fUmVhbCAoYV9yZWFsIDAv MSkgKC1fUmVhbCB5IHgpKSkpKSkpDQotDQotKGRlY2xhcmUgcmlnaHRfbWludXNfbGVmdF9kaXN0 aW5jdA0KLSAgKCEgeCAodGVybSBSZWFsKQ0KLSAgKCEgeSAodGVybSBSZWFsKQ0KLSAgICAodGhf aG9sZHMgKGlmZiAoZGlzdGluY3QgUmVhbCB4IHkpIChkaXN0aW5jdCBSZWFsIChhX3JlYWwgMC8x KSAoLV9SZWFsIHkgeCkpKSkpKSkNCi0NCi07IG1pbnVzIHRvIHBsdXMNCi0NCi0oZGVjbGFyZSBt aW51c190b19wbHVzDQotICAoISB4ICh0ZXJtIFJlYWwpDQotICAoISB5ICh0ZXJtIFJlYWwpDQot ICAgICh0aF9ob2xkcyAoPSBSZWFsICgtX1JlYWwgeCB5KSAoK19SZWFsIHggKCpfUmVhbCAoYV9y ZWFsICh+IDEvMSkpIHkpKSkpKSkpDQotDQotOzsgcGx1cyBwcmVkDQotDQotKGRlY2xhcmUgcGx1 c19wcmVkaWNhdGVfPQ0KLSAgKCEgeCAodGVybSBSZWFsKQ0KLSAgKCEgeSAodGVybSBSZWFsKQ0K LSAgKCEgeiAodGVybSBSZWFsKQ0KLSAgICAodGhfaG9sZHMgKGlmZiAoPSBSZWFsIHggeSkgKD0g UmVhbCAoK19SZWFsIHggeikgKCtfUmVhbCB5IHopKSkpKSkpKQ0KLQ0KLShkZWNsYXJlIHBsdXNf cHJlZGljYXRlXz4NCi0gICghIHggKHRlcm0gUmVhbCkNCi0gICghIHkgKHRlcm0gUmVhbCkNCi0g ICghIHogKHRlcm0gUmVhbCkNCi0gICAgKHRoX2hvbGRzIChpZmYgKD5fUmVhbCB4IHkpICg+X1Jl YWwgKCtfUmVhbCB4IHopICgrX1JlYWwgeSB6KSkpKSkpKSkNCi0gICAgDQotKGRlY2xhcmUgcGx1 c19wcmVkaWNhdGVfPA0KLSAgKCEgeCAodGVybSBSZWFsKQ0KLSAgKCEgeSAodGVybSBSZWFsKQ0K LSAgKCEgeiAodGVybSBSZWFsKQ0KLSAgICAodGhfaG9sZHMgKGlmZiAoPF9SZWFsIHggeSkgKDxf UmVhbCAoK19SZWFsIHggeikgKCtfUmVhbCB5IHopKSkpKSkpKQ0KLQ0KLShkZWNsYXJlIHBsdXNf cHJlZGljYXRlXz49DQotICAoISB4ICh0ZXJtIFJlYWwpDQotICAoISB5ICh0ZXJtIFJlYWwpDQot ICAoISB6ICh0ZXJtIFJlYWwpDQotICAgICh0aF9ob2xkcyAoaWZmICg+PV9SZWFsIHggeSkgKD49 X1JlYWwgKCtfUmVhbCB4IHopICgrX1JlYWwgeSB6KSkpKSkpKSkNCi0gICAgDQotKGRlY2xhcmUg cGx1c19wcmVkaWNhdGVfPD0NCi0gICghIHggKHRlcm0gUmVhbCkNCi0gICghIHkgKHRlcm0gUmVh bCkNCi0gICghIHogKHRlcm0gUmVhbCkNCi0gICAgKHRoX2hvbGRzIChpZmYgKDw9X1JlYWwgeCB5 KSAoPD1fUmVhbCAoK19SZWFsIHggeikgKCtfUmVhbCB5IHopKSkpKSkpKQ0KLQ0KLShkZWNsYXJl IHBsdXNfcHJlZGljYXRlX2Rpc3RpbmN0DQotICAoISB4ICh0ZXJtIFJlYWwpDQotICAoISB5ICh0 ZXJtIFJlYWwpDQotICAoISB6ICh0ZXJtIFJlYWwpDQotICAgICh0aF9ob2xkcyAoaWZmIChkaXN0 aW5jdCBSZWFsIHggeSkgKGRpc3RpbmN0IFJlYWwgKCtfUmVhbCB4IHopICgrX1JlYWwgeSB6KSkp KSkpKSkNCi0gICAgDQotOzsgbXVsdF9pbmVxbg0KLQ0KLShkZWNsYXJlIG11bHRfZXFuDQotICAo ISB4ICh0ZXJtIFJlYWwpDQotICAoISB5ICh0ZXJtIFJlYWwpDQotICAoISBjIG1wcQ0KLSAgICAo dGhfaG9sZHMgKGlmZiAoPSBSZWFsIHggeSkgKD0gUmVhbCAoKl9SZWFsIHggKGFfcmVhbCBjKSkg KCpfUmVhbCB5IChhX3JlYWwgYykpKSkpKSkpKSkNCi0gICAgDQotKGRlY2xhcmUgbXVsdF9pbmVx bl8+DQotICAoISB4ICh0ZXJtIFJlYWwpDQotICAoISB5ICh0ZXJtIFJlYWwpDQotICAoISBjIG1w cQ0KLSAgKCEgdSAoXiAobXBxX2lmcG9zIGMpIHR0KQ0KLSAgICAodGhfaG9sZHMgKGlmZiAoPl9S ZWFsIHggeSkgKD5fUmVhbCAoKl9SZWFsIHggKGFfcmVhbCBjKSkgKCpfUmVhbCB5IChhX3JlYWwg YykpKSkpKSkpKSkNCi0gICAgDQotKGRlY2xhcmUgbXVsdF9pbmVxbl88DQotICAoISB4ICh0ZXJt IFJlYWwpDQotICAoISB5ICh0ZXJtIFJlYWwpDQotICAoISBjIG1wcQ0KLSAgKCEgdSAoXiAobXBx X2lmcG9zIGMpIHR0KQ0KLSAgICAodGhfaG9sZHMgKGlmZiAoPF9SZWFsIHggeSkgKDxfUmVhbCAo Kl9SZWFsIHggKGFfcmVhbCBjKSkgKCpfUmVhbCB5IChhX3JlYWwgYykpKSkpKSkpKSkNCi0gICAg DQotKGRlY2xhcmUgbXVsdF9pbmVxbl8+PQ0KLSAgKCEgeCAodGVybSBSZWFsKQ0KLSAgKCEgeSAo dGVybSBSZWFsKQ0KLSAgKCEgYyBtcHENCi0gICghIHUgKF4gKG1wcV9pZnBvcyBjKSB0dCkNCi0g ICAgKHRoX2hvbGRzIChpZmYgKD49X1JlYWwgeCB5KSAoPj1fUmVhbCAoKl9SZWFsIHggKGFfcmVh bCBjKSkgKCpfUmVhbCB5IChhX3JlYWwgYykpKSkpKSkpKSkNCi0gICAgDQotKGRlY2xhcmUgbXVs dF9pbmVxbl88PQ0KLSAgKCEgeCAodGVybSBSZWFsKQ0KLSAgKCEgeSAodGVybSBSZWFsKQ0KLSAg KCEgYyBtcHENCi0gICghIHUgKF4gKG1wcV9pZnBvcyBjKSB0dCkNCi0gICAgKHRoX2hvbGRzIChp ZmYgKDw9X1JlYWwgeCB5KSAoPD1fUmVhbCAoKl9SZWFsIHggKGFfcmVhbCBjKSkgKCpfUmVhbCB5 IChhX3JlYWwgYykpKSkpKSkpKSkNCi0NCi0oZGVjbGFyZSBtdWx0X2luZXFuX25lZ18+DQotICAo ISB4ICh0ZXJtIFJlYWwpDQotICAoISB5ICh0ZXJtIFJlYWwpDQotICAoISBjIG1wcQ0KLSAgKCEg dSAoXiAobXBfaWZuZWcgYyB0dCBmZikgdHQpDQotICAgICh0aF9ob2xkcyAoaWZmICg+X1JlYWwg eCB5KSAoPl9SZWFsICgqX1JlYWwgeSAoYV9yZWFsIGMpKSAoKl9SZWFsIHggKGFfcmVhbCBjKSkp KSkpKSkpKQ0KLSAgICANCi0oZGVjbGFyZSBtdWx0X2luZXFuX25lZ188DQotICAoISB4ICh0ZXJt IFJlYWwpDQotICAoISB5ICh0ZXJtIFJlYWwpDQotICAoISBjIG1wcQ0KLSAgKCEgdSAoXiAobXBf aWZuZWcgYyB0dCBmZikgdHQpDQotICAgICh0aF9ob2xkcyAoaWZmICg8X1JlYWwgeCB5KSAoPF9S ZWFsICgqX1JlYWwgeSAoYV9yZWFsIGMpKSAoKl9SZWFsIHggKGFfcmVhbCBjKSkpKSkpKSkpKQ0K LSAgICANCi0oZGVjbGFyZSBtdWx0X2luZXFuX25lZ18+PQ0KLSAgKCEgeCAodGVybSBSZWFsKQ0K LSAgKCEgeSAodGVybSBSZWFsKQ0KLSAgKCEgYyBtcHENCi0gICghIHUgKF4gKG1wX2lmbmVnIGMg dHQgZmYpIHR0KQ0KLSAgICAodGhfaG9sZHMgKGlmZiAoPj1fUmVhbCB4IHkpICg+PV9SZWFsICgq X1JlYWwgeSAoYV9yZWFsIGMpKSAoKl9SZWFsIHggKGFfcmVhbCBjKSkpKSkpKSkpKQ0KLSAgICAN Ci0oZGVjbGFyZSBtdWx0X2luZXFuX25lZ188PQ0KLSAgKCEgeCAodGVybSBSZWFsKQ0KLSAgKCEg eSAodGVybSBSZWFsKQ0KLSAgKCEgYyBtcHENCi0gICghIHUgKF4gKG1wX2lmbmVnIGMgdHQgZmYp IHR0KQ0KLSAgICAodGhfaG9sZHMgKGlmZiAoPD1fUmVhbCB4IHkpICg8PV9SZWFsICgqX1JlYWwg eSAoYV9yZWFsIGMpKSAoKl9SZWFsIHggKGFfcmVhbCBjKSkpKSkpKSkpKQ0KLQ0KLTs7IGNhbm9u DQotKGRlY2xhcmUgY2Fub25pemVfPQ0KLSAgKCEgdDEgKHRlcm0gUmVhbCkNCi0gICghIHQyICh0 ZXJtIFJlYWwpDQotICAoISBwIHBvbHkNCi0gICghIHBuIChwb2x5X25vcm0gKC1fUmVhbCB0MSB0 MikgcCkNCi0gICghIHUgKF4gKG1wX2lmemVybyAoaXNfcG9seV9jb25zdCBwKSB0dCBmZikgdHQp DQotICAgICh0aF9ob2xkcyAoPSBSZWFsIHQxIHQyKSkpKSkpKSkNCi0gICAgDQotKGRlY2xhcmUg Y2Fub25pemVfaWZmDQotICAoISB0MSAodGVybSBSZWFsKQ0KLSAgKCEgdDIgKHRlcm0gUmVhbCkN Ci0gICghIHQzICh0ZXJtIFJlYWwpDQotICAoISB0NCAodGVybSBSZWFsKQ0KLSAgKCEgcDEgcG9s eQ0KLSAgKCEgcDIgcG9seQ0KLSAgKCEgcG4xIChwb2x5X25vcm0gKC1fUmVhbCB0MSB0MikgcDEp DQotICAoISBwbjIgKHBvbHlfbm9ybSAoLV9SZWFsIHQzIHQ0KSBwMikNCi0gICghIHUgKF4gKG1w X2lmemVybyAoaXNfcG9seV9jb25zdCAocG9seV9hZGQgcDEgcDIpKSB0dCBmZikgdHQpDQotICAg ICh0aF9ob2xkcyAoaWZmICg9IFJlYWwgdDEgdDIpICg9IFJlYWwgdDMgdDQpKSkpKSkpKSkpKSkp DQotICAgIA0KLShkZWNsYXJlIGNhbm9uaXplX2NvbnYNCi0gICghIHQxICh0ZXJtIFJlYWwpDQot ICAoISB0MiAodGVybSBSZWFsKSANCi0gICghIHQxJyAodGVybSBSZWFsKQ0KLSAgKCEgdDInICh0 ZXJtIFJlYWwpICANCi0gICghIHAgcG9seQ0KLSAgKCEgcCcgcG9seQ0KLSAgKCEgcG4gKHBvbHlf bm9ybSAoLV9SZWFsIHQxIHQyKSBwKQ0KLSAgKCEgcG4gKHBvbHlfbm9ybSAoLV9SZWFsIHQxJyB0 MicpIHAnKQ0KLSAgKCEgdSAodGhfaG9sZHMgKD0gUmVhbCB0MSB0MikpDQotICAoISByICheICht cF9pZnplcm8gKGlzX3BvbHlfY29uc3QgKHBvbHlfc3ViIHAgcCcpKSB0dCBmZikgdHQpDQotICAg ICh0aF9ob2xkcyAoPSBSZWFsIHQxJyB0MicpKSkpKSkpKSkpKSkpDQotDQotOzsgZmxpcF9pbmVx dWFsaXR5DQotDQotKGRlY2xhcmUgZmxpcF9pbmVxdWFsaXR5Xz5fPA0KLSAgKCEgdDEgKHRlcm0g UmVhbCkNCi0gICghIHQyICh0ZXJtIFJlYWwpDQotICAgICh0aF9ob2xkcyAoaWZmICg+X1JlYWwg dDEgdDIpICg8X1JlYWwgdDIgdDEpKSkpKSkNCi0gICAgDQotKGRlY2xhcmUgZmxpcF9pbmVxdWFs aXR5Xz49Xzw9DQotICAoISB0MSAodGVybSBSZWFsKQ0KLSAgKCEgdDIgKHRlcm0gUmVhbCkNCi0g ICAgKHRoX2hvbGRzIChpZmYgKD49X1JlYWwgdDEgdDIpICg8PV9SZWFsIHQyIHQxKSkpKSkpDQot ICAgIA0KLSAgIChkZWNsYXJlIGZsaXBfaW5lcXVhbGl0eV88Xz4NCi0gICghIHQxICh0ZXJtIFJl YWwpDQotICAoISB0MiAodGVybSBSZWFsKQ0KLSAgICAodGhfaG9sZHMgKGlmZiAoPF9SZWFsIHQx IHQyKSAoPl9SZWFsIHQyIHQxKSkpKSkpDQotICAgIA0KLShkZWNsYXJlIGZsaXBfaW5lcXVhbGl0 eV88PV8+PQ0KLSAgKCEgdDEgKHRlcm0gUmVhbCkNCi0gICghIHQyICh0ZXJtIFJlYWwpDQotICAg ICh0aF9ob2xkcyAoaWZmICg8PV9SZWFsIHQxIHQyKSAoPj1fUmVhbCB0MiB0MSkpKSkpKSANCi0N Ci07OyBuZWdhdGVkIGluZXF1YWxpdHkNCi0NCi0oZGVjbGFyZSBuZWdhdGVkX2luZXF1YWxpdHlf Pl88PQ0KLSAgKCEgdDEgKHRlcm0gUmVhbCkNCi0gICghIHQyICh0ZXJtIFJlYWwpDQotICAgICh0 aF9ob2xkcyAoaWZmIChub3QgKD5fUmVhbCB0MSB0MikpICg8PV9SZWFsIHQxIHQyKSkpKSkpDQot ICAgIA0KLShkZWNsYXJlIG5lZ2F0ZWRfaW5lcXVhbGl0eV8+PV88DQotICAoISB0MSAodGVybSBS ZWFsKQ0KLSAgKCEgdDIgKHRlcm0gUmVhbCkNCi0gICAgKHRoX2hvbGRzIChpZmYgKG5vdCAoPj1f UmVhbCB0MSB0MikpICg8X1JlYWwgdDEgdDIpKSkpKSkNCi0gICAgDQotKGRlY2xhcmUgbmVnYXRl ZF9pbmVxdWFsaXR5XzxfPj0NCi0gICghIHQxICh0ZXJtIFJlYWwpDQotICAoISB0MiAodGVybSBS ZWFsKQ0KLSAgICAodGhfaG9sZHMgKGlmZiAobm90ICg8X1JlYWwgdDEgdDIpKSAoPj1fUmVhbCB0 MSB0MikpKSkpKQ0KLSAgICANCi0oZGVjbGFyZSBuZWdhdGVkX2luZXF1YWxpdHlfPD1fPg0KLSAg KCEgdDEgKHRlcm0gUmVhbCkNCi0gICghIHQyICh0ZXJtIFJlYWwpDQotICAgICh0aF9ob2xkcyAo aWZmIChub3QgKDw9X1JlYWwgdDEgdDIpKSAoPl9SZWFsIHQxIHQyKSkpKSkpDQotICAgIA0KLTs7 IGltcGx5IG5lZ2F0ZWQgaW5lcXVhbGl0eQ0KLQ0KLShkZWNsYXJlIGltcGx5X25lZ2F0ZWRfaW5l cXVhbGl0eV88XzwNCi0gICghIHQxICh0ZXJtIFJlYWwpDQotICAoISB0MiAodGVybSBSZWFsKQ0K LSAgKCEgcDEgcG9seQ0KLSAgKCEgcDIgcG9seQ0KLSAgKCEgcG4xIChwb2x5X25vcm0gdDEgcDEp DQotICAoISBwbjIgKHBvbHlfbm9ybSB0MiBwMikNCi0gICghIHUgKF4gKG1wX2lmbmVnIChpc19w b2x5X2NvbnN0IChwb2x5X2FkZCBwMSBwMikpIHR0IGZmKSB0dCkNCi0gICAgKHRoX2hvbGRzIA0K LSAgICAgIChpbXBsICg8X1JlYWwgKGFfcmVhbCAwLzEpIHQxKQ0KLSAgICAgICAgICAgIChub3Qg KDxfUmVhbCAoYV9yZWFsIDAvMSkgdDIpKSkpKSkpKSkpKSkNCi0NCi0oZGVjbGFyZSBpbXBseV9u ZWdhdGVkX2luZXF1YWxpdHlfPD1fPD0NCi0gICghIHQxICh0ZXJtIFJlYWwpDQotICAoISB0MiAo dGVybSBSZWFsKQ0KLSAgKCEgcDEgcG9seQ0KLSAgKCEgcDIgcG9seQ0KLSAgKCEgcG4xIChwb2x5 X25vcm0gdDEgcDEpDQotICAoISBwbjIgKHBvbHlfbm9ybSB0MiBwMikNCi0gICghIHUgKF4gKG1w X2lmbmVnIChpc19wb2x5X2NvbnN0IChwb2x5X2FkZCBwMSBwMikpIHR0IGZmKSB0dCkNCi0gICAg KHRoX2hvbGRzIA0KLSAgICAgIChpbXBsICg8PV9SZWFsIChhX3JlYWwgMC8xKSB0MSkNCi0gICAg ICAgICAgICAobm90ICg8PV9SZWFsIChhX3JlYWwgMC8xKSB0MikpKSkpKSkpKSkpKQ0KLQ0KLShk ZWNsYXJlIGltcGx5X25lZ2F0ZWRfaW5lcXVhbGl0eV88PV88DQotICAoISB0MSAodGVybSBSZWFs KQ0KLSAgKCEgdDIgKHRlcm0gUmVhbCkNCi0gICghIHAxIHBvbHkNCi0gICghIHAyIHBvbHkNCi0g ICghIHBuMSAocG9seV9ub3JtIHQxIHAxKQ0KLSAgKCEgcG4yIChwb2x5X25vcm0gdDIgcDIpDQot ICAoISB1ICheIChtcF9pZm5lZyAoaXNfcG9seV9jb25zdCAocG9seV9hZGQgcDEgcDIpKSB0dCBm ZikgdHQpDQotICAgICh0aF9ob2xkcyANCi0gICAgICAoaW1wbCAoPD1fUmVhbCAoYV9yZWFsIDAv MSkgdDEpDQotICAgICAgICAgICAgKG5vdCAoPF9SZWFsIChhX3JlYWwgMC8xKSB0MikpKSkpKSkp KSkpKQ0KLQ0KLShkZWNsYXJlIGltcGx5X25lZ2F0ZWRfaW5lcXVhbGl0eV88Xzw9DQotICAoISB0 MSAodGVybSBSZWFsKQ0KLSAgKCEgdDIgKHRlcm0gUmVhbCkgICAgDQotICAoISBwMSBwb2x5DQot ICAoISBwMiBwb2x5DQotICAoISBwbjEgKHBvbHlfbm9ybSB0MSBwMSkNCi0gICghIHBuMiAocG9s eV9ub3JtIHQyIHAyKQ0KLSAgKCEgdSAoXiAobXBfaWZuZWcgKGlzX3BvbHlfY29uc3QgKHBvbHlf YWRkIHAxIHAyKSkgdHQgZmYpIHR0KQ0KLSAgICAodGhfaG9sZHMgDQotICAgICAgKGltcGwgKDxf UmVhbCAoYV9yZWFsIDAvMSkgdDEpDQotICAgICAgICAgICAgKG5vdCAoPD1fUmVhbCAoYV9yZWFs IDAvMSkgdDIpKSkpKSkpKSkpKSkNCi0NCi07OyBpbXBseSB3ZWFrZXIgaW5lcXVhbGl0eQ0KLQ0K LShkZWNsYXJlIGltcGx5X3dlYWtlcl9pbmVxdWFsaXR5XzxfPA0KLSAgKCEgdCAodGVybSBSZWFs KQ0KLSAgKCEgYzEgbXBxDQotICAoISBjMiBtcHENCi0gICghIHUgKF4gKG1wX2lmbmVnIChtcF9h ZGQgYzIgKG1wX211bCAofiAxLzEgKSBjMSkpIHR0IGZmKSBmZikNCi0gICAgKHRoX2hvbGRzIA0K LSAgICAgIChpbXBsICg8X1JlYWwgKGFfcmVhbCAwLzEpICgrX1JlYWwgKGFfcmVhbCBjMSkgdCkp IA0KLSAgICAgICAgICAgICg8X1JlYWwgKGFfcmVhbCAwLzEpICgrX1JlYWwgKGFfcmVhbCBjMikg dCkpKSkpKSkpKQ0KLSAgICAgICAgICAgDQotKGRlY2xhcmUgaW1wbHlfd2Vha2VyX2luZXF1YWxp dHlfPD1fPD0NCi0gICghIHQgKHRlcm0gUmVhbCkNCi0gICghIGMxIG1wcQ0KLSAgKCEgYzIgbXBx DQotICAoISB1ICheIChtcF9pZm5lZyAobXBfYWRkIGMyIChtcF9tdWwgKH4gMS8xICkgYzEpKSB0 dCBmZikgZmYpDQotICAgICh0aF9ob2xkcyANCi0gICAgICAoaW1wbCAoPD1fUmVhbCAoYV9yZWFs IDAvMSkgKCtfUmVhbCAoYV9yZWFsIGMxKSB0KSkgDQotICAgICAgICAgICAgKDw9X1JlYWwgKGFf cmVhbCAwLzEpICgrX1JlYWwgKGFfcmVhbCBjMikgdCkpKSkpKSkpKQ0KLSAgICAgICAgICAgIA0K LShkZWNsYXJlIGltcGx5X3dlYWtlcl9pbmVxdWFsaXR5Xzw9XzwNCi0gICghIHQgKHRlcm0gUmVh bCkNCi0gICghIGMxIG1wcQ0KLSAgKCEgYzIgbXBxDQotICAoISB1ICheIChtcHFfaWZwb3MgKG1w X2FkZCBjMiAobXBfbXVsICh+IDEvMSApIGMxKSkpIHR0KQ0KLSAgICAodGhfaG9sZHMgDQotICAg ICAgKGltcGwgKDw9X1JlYWwgKGFfcmVhbCAwLzEpICgrX1JlYWwgKGFfcmVhbCBjMSkgdCkpIA0K LSAgICAgICAgICAgICg8X1JlYWwgKGFfcmVhbCAwLzEpICgrX1JlYWwgKGFfcmVhbCBjMikgdCkp KSkpKSkpKQ0KLSAgICAgICAgICAgDQotKGRlY2xhcmUgaW1wbHlfd2Vha2VyX2luZXF1YWxpdHlf PF88PQ0KLSAgKCEgdCAodGVybSBSZWFsKQ0KLSAgKCEgYzEgbXBxDQotICAoISBjMiBtcHENCi0g ICghIHUgKF4gKG1wX2lmbmVnIChtcF9hZGQgYzIgKG1wX211bCAofiAxLzEgKSBjMSkpIHR0IGZm KSBmZikNCi0gICAgKHRoX2hvbGRzIA0KLSAgICAgIChpbXBsICg8X1JlYWwgKGFfcmVhbCAwLzEp ICgrX1JlYWwgKGFfcmVhbCBjMSkgdCkpIA0KLSAgICAgICAgICAgICg8PV9SZWFsIChhX3JlYWwg MC8xKSAoK19SZWFsIChhX3JlYWwgYzIpIHQpKSkpKSkpKSkNCi0gICAgICAgICAgICANCi0gICAg ICAgICAgICANCi0oZGVjbGFyZSByZXdyaXRlX2lmZl9zeW1tIA0KLSAgKCEgZjEgZm9ybXVsYQ0K LSAgKCEgZjIgZm9ybXVsYQ0KLSAgICAodGhfaG9sZHMgKGlmZiAoaWZmIGYxIGYyKSAoaWZmIGYy IGYxKSkpKSkpDQotDQotKGRlY2xhcmUgcmV3cml0ZV9lcV9zeW1tIA0KLSAgKCEgdDEgKHRlcm0g UmVhbCkNCi0gICghIHQyICh0ZXJtIFJlYWwpDQotICAgICh0aF9ob2xkcyAoaWZmICg9IFJlYWwg dDEgdDIpICg9IFJlYWwgdDIgdDEpKSkpKSkNCi0gICAgDQotDQotOzsgcmV3cml0ZSBpbXBsaWVz DQotDQotKGRlY2xhcmUgcmV3cml0ZV9pbXBsaWVzDQotICAoISBmMSBmb3JtdWxhDQotICAoISBm MiBmb3JtdWxhDQotICAgICh0aF9ob2xkcyAoaWZmIChpbXBsIGYxIGYyKSAob3IgKG5vdCBmMSkg ZjIpKSkpKSkNCi0NCi07OyBub3QgdG8gaWZmDQotDQotKGRlY2xhcmUgbm90X3RvX2lmZg0KLSAg KCEgZjEgZm9ybXVsYQ0KLSAgKCEgZjIgKHRoX2hvbGRzIChub3QgZjEpKQ0KLSAgICAodGhfaG9s ZHMgKGlmZiBmMSBmYWxzZSkpKSkpDQotDQotOzsgcmV3cml0ZV9ub3Rfbm90DQotDQotKGRlY2xh cmUgcmV3cml0ZV9ub3Rfbm90DQotICAoISBmIGZvcm11bGENCi0gICAgKHRoX2hvbGRzIChpZmYg KG5vdCAobm90IGYpKSBmICkpKSkNCi0gICAgDQotKGRlY2xhcmUgdW1pbnVzX3RvX211bHQNCi0g ICghIGMgbXBxDQotICAgICh0aF9ob2xkcyAoPSBSZWFsICh1LV9SZWFsIChhX3JlYWwgYykpICgq X1JlYWwgKGFfcmVhbCAofiAxLzEpKSAoYV9yZWFsIGMpKSkpKSkNCi0gICAgDQotOzsgY29uc3Rf cHJlZGljYXRlDQotKGRlY2xhcmUgY29uc3RfcHJlZGljYXRlXz0NCi0gICghIGMxIG1wcQ0KLSAg KCEgYzIgbXBxDQotICAoISByICheIChtcF9pZnplcm8gKG1wX2FkZCBjMiAobXBfbXVsICh+IDEv MSkgYzEpKSB0dCBmZikgZmYpDQotICAgICh0aF9ob2xkcyAoaWZmICg9IFJlYWwgKGFfcmVhbCBj MSkgKGFfcmVhbCBjMikpIGZhbHNlKSkpKSkpDQotDQotKGRlY2xhcmUgY29uc3RfcHJlZGljYXRl XzwNCi0gICghIGMxIG1wcQ0KLSAgKCEgYzIgbXBxDQotICAoISByICheIChtcHFfaWZwb3MgKG1w X2FkZCBjMiAobXBfbXVsICh+IDEvMSkgYzEpKSkgZmYpDQotICAgICh0aF9ob2xkcyAoaWZmICg8 X1JlYWwgKGFfcmVhbCBjMSkgKGFfcmVhbCBjMikpIGZhbHNlKSkpKSkpDQotICAgIA0KLShkZWNs YXJlIGNvbnN0X3ByZWRpY2F0ZV88PQ0KLSAgKCEgYzEgbXBxDQotICAoISBjMiBtcHENCi0gICgh IHIgKF4gKG1wX2lmbmVnIChtcF9hZGQgYzIgKG1wX211bCAofiAxLzEpIGMxKSkgdHQgZmYpIHR0 KQ0KLSAgICAodGhfaG9sZHMgKGlmZiAoPD1fUmVhbCAoYV9yZWFsIGMxKSAoYV9yZWFsIGMyKSkg ZmFsc2UpKSkpKSkNCi0gICAgDQotKGRlY2xhcmUgY29uc3RfcHJlZGljYXRlXz1fdA0KLSAgKCEg YzEgbXBxDQotICAoISBjMiBtcHENCi0gICghIHIgKF4gKG1wX2lmemVybyAobXBfYWRkIGMyICht cF9tdWwgKH4gMS8xKSBjMSkpIHR0IGZmKSB0dCkNCi0gICAgKHRoX2hvbGRzIChpZmYgKD0gUmVh bCAoYV9yZWFsIGMxKSAoYV9yZWFsIGMyKSkgdHJ1ZSkpKSkpKQ0KLSAgICANCi0oZGVjbGFyZSBj b25zdF9wcmVkaWNhdGVfPF90DQotICAoISBjMSBtcHENCi0gICghIGMyIG1wcQ0KLSAgKCEgciAo XiAobXBxX2lmcG9zIChtcF9hZGQgYzIgKG1wX211bCAofiAxLzEpIGMxKSkpIHR0KQ0KLSAgICAo dGhfaG9sZHMgKGlmZiAoPF9SZWFsIChhX3JlYWwgYzEpIChhX3JlYWwgYzIpKSB0cnVlKSkpKSkp DQotICAgIA0KLShkZWNsYXJlIGNvbnN0X3ByZWRpY2F0ZV88PV90DQotICAoISBjMSBtcHENCi0g ICghIGMyIG1wcQ0KLSAgKCEgciAoXiAobXBfaWZuZWcgKG1wX2FkZCBjMiAobXBfbXVsICh+IDEv MSkgYzEpKSB0dCBmZikgZmYpDQotICAgICh0aF9ob2xkcyAoaWZmICg8PV9SZWFsIChhX3JlYWwg YzEpIChhX3JlYWwgYzIpKSB0cnVlKSkpKSkpDQotICAgIA0KLSAgICANCi0oZGVjbGFyZSByZXdy aXRlX25vdF90cnVlICh0aF9ob2xkcyAoaWZmIChub3QgdHJ1ZSkgZmFsc2UpKSkNCi0NCi0oZGVj bGFyZSByZXdyaXRlX25vdF9mYWxzZSAodGhfaG9sZHMgKGlmZiAobm90IGZhbHNlKSB0cnVlKSkp DQotDQotKGRlY2xhcmUgcmV3cml0ZV9lcV9zeW1tDQotICAoISB0MSAodGVybSBSZWFsKQ0KLSAg KCEgdDIgKHRlcm0gUmVhbCkNCi0gICAgKHRoX2hvbGRzIChpZmYgKD0gUmVhbCB0MSB0MikgKD0g UmVhbCB0MiB0MSkpKSkpKQ0KLQ0KLShkZWNsYXJlIHJld3JpdGVfZXFfcmVmbA0KLSAoISB0MSAo dGVybSBSZWFsKQ0KLSAgICh0aF9ob2xkcyAoaWZmICg9IFJlYWwgdDEgdDEpIHRydWUpKSkpDQot DQotOyBjbGFzcyBvZiBpZ25vcmVkIHJ1bGVzDQotDQotKGRlY2xhcmUgaWZmX3RydWUgDQotICAo ISBmIGZvcm11bGENCi0gICghIHUgKHRoX2hvbGRzIGYpDQotICAgICh0aF9ob2xkcyAoaWZmIGYg dHJ1ZSkpKSkpDQotICAgIA0KLSAgICANCi0oZGVjbGFyZSBpZmZfbm90X2ZhbHNlDQotICAoISBm IGZvcm11bGENCi0gICghIHUgKHRoX2hvbGRzIGYpDQotICAgICh0aF9ob2xkcyAoaWZmIChub3Qg ZikgZmFsc2UpKSkpKQ0KLSAgICANCi0oZGVjbGFyZSBpZmZfdHJ1ZV9lbGltDQotICAoISBmIGZv cm11bGENCi0gICghIHUgKHRoX2hvbGRzIChpZmYgZiB0cnVlKSkNCi0gICAgKHRoX2hvbGRzIGYp KSkpDQotICAgIA0KLShkZWNsYXJlIGlmZl9mYWxzZV9lbGltDQotICAoISBmIGZvcm11bGENCi0g ICghIHUgKHRoX2hvbGRzIChpZmYgZiBmYWxzZSkpDQotICAgICh0aF9ob2xkcyAobm90IGYpKSkp KQ0KLSANCi0oZGVjbGFyZSBub3RfdG9faWZmDQotICAoISBmIGZvcm11bGENCi0gICghIHUgKHRo X2hvbGRzIChub3QgZikpDQotICAgICh0aF9ob2xkcyAoaWZmIGYgZmFsc2UpKSkpKQ0KLSAgICAN Ci0gICAgDQotKGRlY2xhcmUgaWZmX3RydWVfaW1wbA0KLSAgKCEgZiBmb3JtdWxhDQotICAoISB1 ICh0aF9ob2xkcyBmKQ0KLSAgICAodGhfaG9sZHMgKGltcGwgZiB0cnVlKSkpKSkNCi0gICAgDQot KGRlY2xhcmUgaWZmX25vdF9mYWxzZV9pbXBsDQotICAoISBmIGZvcm11bGENCi0gICghIHUgKHRo X2hvbGRzIGYpDQotICAgICh0aF9ob2xkcyAoaW1wbCAobm90IGYpIGZhbHNlKSkpKSkNCi0gICAg DQotKGRlY2xhcmUgaWZmX3RydWVfZWxpbV9pbXBsDQotICAoISBmIGZvcm11bGENCi0gICghIHUg KHRoX2hvbGRzIChpbXBsIGYgdHJ1ZSkpDQotICAgICh0aF9ob2xkcyBmKSkpKQ0KLSAgICANCi0o ZGVjbGFyZSBpZmZfZmFsc2VfZWxpbV9pbXBsDQotICAoISBmIGZvcm11bGENCi0gICghIHUgKHRo X2hvbGRzIChpbXBsIGYgZmFsc2UpKQ0KLSAgICAodGhfaG9sZHMgKG5vdCBmKSkpKSkNCi0gDQot KGRlY2xhcmUgbm90X3RvX2lmZl9pbXBsDQotICAoISBmIGZvcm11bGENCi0gICghIHUgKHRoX2hv bGRzIChub3QgZikpDQotICAgICh0aF9ob2xkcyAoaW1wbCBmIGZhbHNlKSkpKSkNCi0gICAgDQot DQotOyB0aGUgZGlmZmVyZW50IHJld3JpdGVfaWZmIGNhc2VzDQotDQotKGRlY2xhcmUgcmV3cml0 ZV9pZmZfdHJ1ZV9sDQotICAoIWYxIGZvcm11bGENCi0gICAgKHRoX2hvbGRzIChpZmYgKGlmZiB0 cnVlIGYxKSBmMSkpKSkNCi0NCi0oZGVjbGFyZSByZXdyaXRlX2lmZl9mYWxzZV9sDQotICAoIWYx IGZvcm11bGENCi0gICAgKHRoX2hvbGRzIChpZmYgKGlmZiBmYWxzZSBmMSkgKG5vdCBmMSkpKSkp DQotDQotKGRlY2xhcmUgcmV3cml0ZV9pZmZfbm90X2wNCi0gICghZjEgZm9ybXVsYQ0KLSAgICAo dGhfaG9sZHMgKGlmZiAoaWZmIChub3QgZjEpIGYxKSBmYWxzZSkpKSkNCi0NCi0oZGVjbGFyZSBy ZXdyaXRlX2lmZl90cnVlX3INCi0gICghZjEgZm9ybXVsYQ0KLSAgICAodGhfaG9sZHMgKGlmZiAo aWZmIGYxIHRydWUpIGYxKSkpKQ0KLQ0KLShkZWNsYXJlIHJld3JpdGVfaWZmX2ZhbHNlX3INCi0g ICghZjEgZm9ybXVsYQ0KLSAgICAodGhfaG9sZHMgKGlmZiAoaWZmIGYxIGZhbHNlKSAobm90IGYx KSkpKSkNCi0NCi0oZGVjbGFyZSByZXdyaXRlX2lmZl9ub3Rfcg0KLSAgKCFmMSBmb3JtdWxhDQot ICAgICh0aF9ob2xkcyAoaWZmIChpZmYgZjEgKG5vdCBmMSkpIGZhbHNlKSkpKQ0KLQ0KLQ0KLQ0K LTsgaXRlIGF4aW9tDQotKGRlY2xhcmUgaXRlX2F4aW9tDQotICAoISBmIGZvcm11bGENCi0gICgh IHQxICh0ZXJtIFJlYWwpDQotICAoISB0MiAodGVybSBSZWFsKQ0KLSAgICAodGhfaG9sZHMgKGlm dGUgZiAoPSBSZWFsIChpdGUgUmVhbCBmIHQxIHQyKSB0MSkgKD0gUmVhbCAoaXRlIFJlYWwgZiB0 MSB0MikgdDIpKSkpKSkpDQotDQotOyBpdGUgc2FtZQ0KLShkZWNsYXJlIHJld3JpdGVfaXRlX3Nh bWUNCi0gICghIGYgZm9ybXVsYQ0KLSAgKCEgdCAodGVybSBSZWFsKQ0KLSAgICAodGhfaG9sZHMg KD0gUmVhbCAoaXRlIFJlYWwgZiB0IHQpIHQpKSkpKQ0KLSAgICANCi0oZGVjbGFyZSBpbXBseV9l cXVhbGl0aWVzDQotICAoISB0MSAodGVybSBSZWFsKQ0KLSAgKCEgdDIgKHRlcm0gUmVhbCkNCi0g ICghIHQzICh0ZXJtIFJlYWwpDQotICAoISB0NCAodGVybSBSZWFsKQ0KLSAgKCEgcDEgcG9seQ0K LSAgKCEgcDIgcG9seQ0KLSAgKCEgcG4xIChwb2x5X25vcm0gKC1fUmVhbCB0MiB0MSkgcDEpDQot ICAoISBwbjIgKHBvbHlfbm9ybSAoLV9SZWFsIHQ0IHQzKSBwMikNCi0gICghIHUxICh0aF9ob2xk cyAoPD1fUmVhbCB0MSB0MikpDQotICAoISB1MiAodGhfaG9sZHMgKDw9X1JlYWwgdDMgdDQpKQ0K LSAgKCEgdSAoXiAobXBfaWZ6ZXJvIChpc19wb2x5X2NvbnN0IChwb2x5X2FkZCBwMSBwMikpIHR0 IGZmKSB0dCkNCi0gICAgKHRoX2hvbGRzIChhbmQgKD0gUmVhbCB0MSB0MikgKD0gUmVhbCB0MyB0 NCkpKSkpKSkpKSkpKSkpKQ0KLSAgICANCi0gICAgDQotKGRlY2xhcmUgY29udHJhcG9zaXRpdmUN Ci0gICghIGYxIGZvcm11bGENCi0gICghIGYyIGZvcm11bGENCi0gICghIHUgKHRoX2hvbGRzIChp bXBsIGYxIGYyKSkNCi0gICAgKHRoX2hvbGRzIChpbXBsIChub3QgZjIpIChub3QgZjEpKSkpKSkp ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKZGlmZiAtLWdpdCBhL3RoX2xyYS5wbGYgYi90 aF9scmEucGxmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYTk1ZjY4Li4wMDAwMDAw Ci0tLSBhL3RoX2xyYS5wbGYKKysrIC9kZXYvbnVsbApAQCAtMSw0ODIgKzAsMCBAQAotOyA1OSBs b2MgaW4gc2lkZSBjb25kaXRpb25zDQotDQotKHByb2dyYW0gbXBxX2lmcG9zICgoeCBtcHEpKSBi b29sDQotICAobXBfaWZuZWcgeCBmZiAobXBfaWZ6ZXJvIHggZmYgdHQpKSkNCi0NCi07IGEgcmVh bCB2YXJpYWJsZQ0KLShkZWNsYXJlIHZhcl9yZWFsIHR5cGUpDQotOyBhIHJlYWwgdmFyaWFibGUg dGVybQ0KLShkZWNsYXJlIGFfdmFyX3JlYWwgKCEgdiB2YXJfcmVhbCAodGVybSBSZWFsKSkpDQot DQotOzsgbGluZWFyIHBvbHlub21pYWxzIGluIHRoZSBmb3JtIGFfMSp4XzEgKyBhXzIqeF8yIC4u Li4gKyBhX24qeF9uDQotDQotKGRlY2xhcmUgbG1vbiB0eXBlKQ0KLShkZWNsYXJlIGxtb25uIGxt b24pDQotKGRlY2xhcmUgbG1vbmMgKCEgYyBtcHEgKCEgdiB2YXJfcmVhbCAoISBsIGxtb24gbG1v bikpKSkNCi0NCi0ocHJvZ3JhbSBsbW9uX25lZyAoKGwgbG1vbikpIGxtb24gDQotICAobWF0Y2gg bA0KLSAgICAobG1vbm4gbCkNCi0gICAgKChsbW9uYyBjJyB2JyBsJykgKGxtb25jIChtcF9uZWcg YycpIHYnIChsbW9uX25lZyBsJykpKSkpDQotDQotKHByb2dyYW0gbG1vbl9hZGQgKChsMSBsbW9u KSAobDIgbG1vbikpIGxtb24NCi0gIChtYXRjaCBsMQ0KLSAgICAobG1vbm4gbDIpDQotICAgICgo bG1vbmMgYycgdicgbCcpIA0KLSAgICAgIChtYXRjaCBsMg0KLSAgICAgICAgKGxtb25uIGwxKQ0K LSAgICAgICAgKChsbW9uYyBjJycgdicnIGwnJykNCi0gICAgICAgICAgKGNvbXBhcmUgdicgdicn IA0KLSAgICAgICAgICAgIChsbW9uYyBjJyB2JyAobG1vbl9hZGQgbCcgbDIpKQ0KLSAgICAgICAg ICAgIChsbW9uYyBjJycgdicnIChsbW9uX2FkZCBsMSBsJycpKSkpKSkpKQ0KLQ0KLShwcm9ncmFt IGxtb25fbXVsX2MgKChsIGxtb24pIChjIG1wcSkpIGxtb24NCi0gIChtYXRjaCBsDQotICAgIChs bW9ubiBsKQ0KLSAgICAoKGxtb25jIGMnIHYnIGwnKSAobG1vbmMgKG1wX211bCBjIGMnKSB2JyAo bG1vbl9tdWxfYyBsJyBjKSkpKSkNCi0NCi07OyBsaW5lYXIgcG9seW5vbWlhbHMgaW4gdGhlIGZv cm0gKGFfMSp4XzEgKyBhXzIqeF8yIC4uLi4gKyBhX24qeF9uKSArIGMgDQotDQotKGRlY2xhcmUg cG9seSB0eXBlKQ0KLShkZWNsYXJlIHBvbHljICghIGMgbXBxICghIGwgbG1vbiBwb2x5KSkpDQot DQotKHByb2dyYW0gcG9seV9uZWcgKChwIHBvbHkpKSBwb2x5DQotICAobWF0Y2ggcA0KLSAgICAo KHBvbHljIG0nIHAnKSAocG9seWMgKG1wX25lZyBtJykgKGxtb25fbmVnIHAnKSkpKSkNCi0NCi0o cHJvZ3JhbSBwb2x5X2FkZCAoKHAxIHBvbHkpIChwMiBwb2x5KSkgcG9seQ0KLSAgKG1hdGNoIHAx DQotICAgICgocG9seWMgYzEgbDEpDQotICAgICAgKG1hdGNoIHAyDQotICAgICAgICAoKHBvbHlj IGMyIGwyKSAocG9seWMgKG1wX2FkZCBjMSBjMikgKGxtb25fYWRkIGwxIGwyKSkpKSkpKQ0KLQ0K LShwcm9ncmFtIHBvbHlfc3ViICgocDEgcG9seSkgKHAyIHBvbHkpKSBwb2x5DQotICAocG9seV9h ZGQgcDEgKHBvbHlfbmVnIHAyKSkpDQotICANCi0ocHJvZ3JhbSBwb2x5X211bF9jICgocCBwb2x5 KSAoYyBtcHEpKSBwb2x5DQotICAobWF0Y2ggcA0KLSAgICAoKHBvbHljIGMnIGwnKSAocG9seWMg KG1wX211bCBjJyBjKSAobG1vbl9tdWxfYyBsJyBjKSkpKSkNCi0gICAgDQotOzsgY29kZSB0byBp c29sYXRlIGEgdmFyaWFibGUgZnJvbSBhIHRlcm0NCi07OyBpZiAoaXNvbGF0ZSB2IGwpIHJldHVy bnMgKGMsbCcpLCB0aGlzIG1lYW5zIGwgPSBjKnYgKyBsJywgd2hlcmUgdiBpcyBub3QgaW4gRlYo dCcpLg0KLQ0KLShkZWNsYXJlIGlzb2wgdHlwZSkNCi0oZGVjbGFyZSBpc29sYyAoISByIG1wcSAo ISBsIGxtb24gaXNvbCkpKQ0KLQ0KLShwcm9ncmFtIGlzb2xhdGVfaCAoKHYgdmFyX3JlYWwpIChs IGxtb24pIChlIGJvb2wpKSBpc29sDQotICAobWF0Y2ggbA0KLSAgICAobG1vbm4gKGlzb2xjIDAv MSBsKSkNCi0gICAgKChsbW9uYyBjJyB2JyBsJykgDQotICAgICAgKGlmbWFya2VkIHYnDQotICAg ICAgICAobWF0Y2ggKGlzb2xhdGVfaCB2IGwnIHR0KSANCi0gICAgICAgICAgKChpc29sYyBjaSBs aSkgKGlzb2xjIChtcF9hZGQgYycgY2kpIGxpKSkpDQotICAgICAgICAobWF0Y2ggZSANCi0gICAg ICAgICAgKHR0IChpc29sYyAwLzEgbCkpDQotICAgICAgICAgIChmZiAobWF0Y2ggKGlzb2xhdGVf aCB2IGwnIGZmKSANCi0gICAgICAgICAgICAgICAgKChpc29sYyBjaSBsaSkgKGlzb2xjIGNpIChs bW9uYyBjJyB2JyBsaSkpKSkpKSkpKSkNCi0NCi0ocHJvZ3JhbSBpc29sYXRlICgodiB2YXJfcmVh bCkgKGwgbG1vbikpIGlzb2wNCi0gIChkbyAobWFya3ZhciB2KQ0KLSAgKGxldCBpIChpc29sYXRl X2ggdiBsIGZmKQ0KLSAgKGRvIChtYXJrdmFyIHYpIGkpKSkpDQotDQotOzsgZGV0ZXJtaW5lIGlm IGEgbW9ub21pYWwgbGlzdCBpcyBjb25zdGFudA0KLQ0KLShwcm9ncmFtIGlzX2xtb25femVybyAo KGwgbG1vbikpIGJvb2wNCi0gIChtYXRjaCBsDQotICAgIChsbW9ubiB0dCkNCi0gICAgKChsbW9u YyBjIHYgbCcpDQotICAgICAgKG1hdGNoIChpc29sYXRlIHYgbCkNCi0gICAgICAgICgoaXNvbGMg Y2kgbGkpIA0KLSAgICAgICAgICAobXBfaWZ6ZXJvIGNpIChpc19sbW9uX3plcm8gbGkpIGZmKSkp KSkpDQotICAgICAgICAgICAgICAgIA0KLTs7IHJldHVybiB0aGUgY29uc3RhbnQgdGhhdCBwIGlz IGVxdWFsIHRvLiAgSWYgcCBpcyBub3QgY29uc3RhbnQsIGZhaWwuDQotICAgICAgICAgICAgICAg IA0KLShwcm9ncmFtIGlzX3BvbHlfY29uc3QgKChwIHBvbHkpKSBtcHENCi0gIChtYXRjaCBwDQot ICAgICgocG9seWMgYycgbCcpDQotICAgICAgKG1hdGNoIChpc19sbW9uX3plcm8gbCcpDQotICAg ICAgICAodHQgYycpDQotICAgICAgICAoZmYgKGZhaWwgbXBxKSkpKSkpDQotDQotOzsgY29udmVy c2lvbiB0byB1c2UgcG9seW5vbWlhbHMgaW4gdGVybSBmb3JtdWxhcw0KLQ0KLShkZWNsYXJlIHBv bHlfdGVybSAoISBwIHBvbHkgKHRlcm0gUmVhbCkpKQ0KLSAgICANCi07OyBjcmVhdGUgbmV3IGVx dWFsaXR5IG91dCBvZiBpbmVxdWFsaXR5DQotDQotKGRlY2xhcmUgbHJhXz49Xz49X3RvXz0NCi0g ICghIHAxIHBvbHkNCi0gICghIHAyIHBvbHkNCi0gICghIGYxICh0aF9ob2xkcyAoPj0wX1JlYWwg KHBvbHlfdGVybSBwMSkpKQ0KLSAgKCEgZjIgKHRoX2hvbGRzICg+PTBfUmVhbCAocG9seV90ZXJt IHAyKSkpDQotICAoISBpMiAoXiAobXBfaWZ6ZXJvIChpc19wb2x5X2NvbnN0IChwb2x5X2FkZCBw MSBwMikpIHR0IGZmKSB0dCkNCi0gICAgKHRoX2hvbGRzICg9MF9SZWFsIChwb2x5X3Rlcm0gcDIp KSkpKSkpKSkpDQotICAgIA0KLTs7IGF4aW9tcw0KLQ0KLShkZWNsYXJlIGxyYV9heGlvbV89DQot ICAgKHRoX2hvbGRzICg9MF9SZWFsIChwb2x5X3Rlcm0gKHBvbHljIDAvMSBsbW9ubikpKSkpDQot ICAgDQotKGRlY2xhcmUgbHJhX2F4aW9tXz4NCi0gICghIGMgbXBxIA0KLSAgKCEgaSAoXiAobXBx X2lmcG9zIGMpIHR0KQ0KLSAgICAodGhfaG9sZHMgKD4wX1JlYWwgKHBvbHlfdGVybSAocG9seWMg YyBsbW9ubikpKSkpKSkNCi0gICAgDQotKGRlY2xhcmUgbHJhX2F4aW9tXz49DQotICAoISBjIG1w cSANCi0gICghIGkgKF4gKG1wX2lmbmVnIGMgdHQgZmYpIGZmKQ0KLSAgICAodGhfaG9sZHMgKD49 MF9SZWFsIChwb2x5X3Rlcm0gKHBvbHljIGMgbG1vbm4pKSkpKSkpDQotICAgIA0KLShkZWNsYXJl IGxyYV9heGlvbV9kaXN0aW5jdA0KLSAgKCEgYyBtcHEgDQotICAoISBpICheIChtcF9pZnplcm8g YyB0dCBmZikgZmYpDQotICAgICh0aF9ob2xkcyAoZGlzdGluY3QwX1JlYWwgKHBvbHlfdGVybSAo cG9seWMgYyBsbW9ubikpKSkpKSkNCi0NCi07OyBjb250cmFkaWN0aW9uIHJ1bGVzDQotDQotKGRl Y2xhcmUgbHJhX2NvbnRyYV89DQotICAoISBwIHBvbHkNCi0gICghIGYgKHRoX2hvbGRzICg9MF9S ZWFsIChwb2x5X3Rlcm0gcCkpKQ0KLSAgKCEgaSAoXiAobXBfaWZ6ZXJvIChpc19wb2x5X2NvbnN0 IHApIHR0IGZmKSBmZikNCi0gICAgYm90dG9tKSkpKQ0KLSAgICANCi0oZGVjbGFyZSBscmFfY29u dHJhXz4NCi0gICghIHAgcG9seQ0KLSAgKCEgZiAodGhfaG9sZHMgKD4wX1JlYWwgKHBvbHlfdGVy bSBwKSkpDQotICAoISBpMiAoXiAobXBxX2lmcG9zIChpc19wb2x5X2NvbnN0IHApKSBmZikNCi0g ICAgYm90dG9tKSkpKQ0KLSAgICANCi0oZGVjbGFyZSBscmFfY29udHJhXz49DQotICAoISBwIHBv bHkNCi0gICghIGYgKHRoX2hvbGRzICg+PTBfUmVhbCAocG9seV90ZXJtIHApKSkNCi0gICghIGky ICheIChtcF9pZm5lZyAoaXNfcG9seV9jb25zdCBwKSB0dCBmZikgdHQpDQotICAgIGJvdHRvbSkp KSkNCi0gICAgDQotKGRlY2xhcmUgbHJhX2NvbnRyYV9kaXN0aW5jdA0KLSAgKCEgcCBwb2x5DQot ICAoISBmICh0aF9ob2xkcyAoZGlzdGluY3QwX1JlYWwgKHBvbHlfdGVybSBwKSkpDQotICAoISBp MiAoXiAobXBfaWZ6ZXJvIChpc19wb2x5X2NvbnN0IHApIHR0IGZmKSB0dCkNCi0gICAgYm90dG9t KSkpKQ0KLQ0KLTs7IG11bGlwbGljYXRpb24gYnkgYSBjb25zdGFudA0KLQ0KLShkZWNsYXJlIGxy YV9tdWxfY189DQotICAoISBwIHBvbHkNCi0gICghIHAnIHBvbHkNCi0gICghIGMgbXBxDQotICAo ISBmICh0aF9ob2xkcyAoPTBfUmVhbCAocG9seV90ZXJtIHApKSkNCi0gICghIGkgKF4gKHBvbHlf bXVsX2MgcCBjKSBwJykNCi0gICAgKHRoX2hvbGRzICg9MF9SZWFsIChwb2x5X3Rlcm0gcCcpKSkp KSkpKSkNCi0NCi0oZGVjbGFyZSBscmFfbXVsX2NfPg0KLSAgKCEgcCBwb2x5DQotICAoISBwJyBw b2x5DQotICAoISBjIG1wcQ0KLSAgKCEgZiAodGhfaG9sZHMgKD4wX1JlYWwgKHBvbHlfdGVybSBw KSkpDQotICAoISBpICheIChtcF9pZm5lZyBjIChmYWlsIHBvbHkpIChtcF9pZnplcm8gYyAoZmFp bCBwb2x5KSAocG9seV9tdWxfYyBwIGMpKSkgcCcpDQotICAgICh0aF9ob2xkcyAoPjBfUmVhbCAo cG9seV90ZXJtIHAnKSkpKSkpKSkpOykNCi0gICAgDQotKGRlY2xhcmUgbHJhX211bF9jXz49DQot ICAoISBwIHBvbHkNCi0gICghIHAnIHBvbHkNCi0gICghIGMgbXBxDQotICAoISBmICh0aF9ob2xk cyAoPj0wX1JlYWwgKHBvbHlfdGVybSBwKSkpDQotICAoISBpICheIChtcF9pZm5lZyBjIChmYWls IHBvbHkpIChwb2x5X211bF9jIHAgYykpIHAnKQ0KLSAgICAodGhfaG9sZHMgKD49MF9SZWFsIChw b2x5X3Rlcm0gcCcpKSkpKSkpKSk7KQ0KLSAgICANCi0oZGVjbGFyZSBscmFfbXVsX2NfZGlzdGlu Y3QNCi0gICghIHAgcG9seQ0KLSAgKCEgcCcgcG9seQ0KLSAgKCEgYyBtcHENCi0gICghIGYgKHRo X2hvbGRzIChkaXN0aW5jdDBfUmVhbCAocG9seV90ZXJtIHApKSkNCi0gICghIGkgKF4gKG1wX2lm emVybyBjIChmYWlsIHBvbHkpIChwb2x5X211bF9jIHAgYykpIHAnKQ0KLSAgICAodGhfaG9sZHMg KGRpc3RpbmN0MF9SZWFsIChwb2x5X3Rlcm0gcCcpKSkpKSkpKSk7KQ0KLQ0KLTs7IGFkZGluZyBl cXVhdGlvbnMNCi0NCi0oZGVjbGFyZSBscmFfYWRkXz1fPQ0KLSAgKCEgcDEgcG9seQ0KLSAgKCEg cDIgcG9seQ0KLSAgKCEgcDMgcG9seQ0KLSAgKCEgZjEgKHRoX2hvbGRzICg9MF9SZWFsIChwb2x5 X3Rlcm0gcDEpKSkNCi0gICghIGYyICh0aF9ob2xkcyAoPTBfUmVhbCAocG9seV90ZXJtIHAyKSkp DQotICAoISBpICheIChwb2x5X2FkZCBwMSBwMikgcDMpDQotICAgICh0aF9ob2xkcyAoPTBfUmVh bCAocG9seV90ZXJtIHAzKSkpKSkpKSkpKSkNCi0gICAgDQotKGRlY2xhcmUgbHJhX2FkZF8+Xz4N Ci0gICghIHAxIHBvbHkNCi0gICghIHAyIHBvbHkNCi0gICghIHAzIHBvbHkNCi0gICghIGYxICh0 aF9ob2xkcyAoPjBfUmVhbCAocG9seV90ZXJtIHAxKSkpDQotICAoISBmMiAodGhfaG9sZHMgKD4w X1JlYWwgKHBvbHlfdGVybSBwMikpKQ0KLSAgKCEgaSAoXiAocG9seV9hZGQgcDEgcDIpIHAzKQ0K LSAgICAodGhfaG9sZHMgKD4wX1JlYWwgKHBvbHlfdGVybSBwMykpKSkpKSkpKSkNCi0gICAgDQot KGRlY2xhcmUgbHJhX2FkZF8+PV8+PQ0KLSAgKCEgcDEgcG9seQ0KLSAgKCEgcDIgcG9seQ0KLSAg KCEgcDMgcG9seQ0KLSAgKCEgZjEgKHRoX2hvbGRzICg+PTBfUmVhbCAocG9seV90ZXJtIHAxKSkp DQotICAoISBmMiAodGhfaG9sZHMgKD49MF9SZWFsIChwb2x5X3Rlcm0gcDIpKSkNCi0gICghIGkg KF4gKHBvbHlfYWRkIHAxIHAyKSBwMykNCi0gICAgKHRoX2hvbGRzICg+PTBfUmVhbCAocG9seV90 ZXJtIHAzKSkpKSkpKSkpKQ0KLQ0KLShkZWNsYXJlIGxyYV9hZGRfPV8+DQotICAoISBwMSBwb2x5 DQotICAoISBwMiBwb2x5DQotICAoISBwMyBwb2x5DQotICAoISBmMSAodGhfaG9sZHMgKD0wX1Jl YWwgKHBvbHlfdGVybSBwMSkpKQ0KLSAgKCEgZjIgKHRoX2hvbGRzICg+MF9SZWFsIChwb2x5X3Rl cm0gcDIpKSkNCi0gICghIGkgKF4gKHBvbHlfYWRkIHAxIHAyKSBwMykNCi0gICAgKHRoX2hvbGRz ICg+MF9SZWFsIChwb2x5X3Rlcm0gcDMpKSkpKSkpKSkpDQotICAgIA0KLShkZWNsYXJlIGxyYV9h ZGRfPV8+PQ0KLSAgKCEgcDEgcG9seQ0KLSAgKCEgcDIgcG9seQ0KLSAgKCEgcDMgcG9seQ0KLSAg KCEgZjEgKHRoX2hvbGRzICg9MF9SZWFsIChwb2x5X3Rlcm0gcDEpKSkNCi0gICghIGYyICh0aF9o b2xkcyAoPj0wX1JlYWwgKHBvbHlfdGVybSBwMikpKQ0KLSAgKCEgaSAoXiAocG9seV9hZGQgcDEg cDIpIHAzKQ0KLSAgICAodGhfaG9sZHMgKD49MF9SZWFsIChwb2x5X3Rlcm0gcDMpKSkpKSkpKSkp DQotDQotKGRlY2xhcmUgbHJhX2FkZF8+Xz49DQotICAoISBwMSBwb2x5DQotICAoISBwMiBwb2x5 DQotICAoISBwMyBwb2x5DQotICAoISBmMSAodGhfaG9sZHMgKD4wX1JlYWwgKHBvbHlfdGVybSBw MSkpKQ0KLSAgKCEgZjIgKHRoX2hvbGRzICg+PTBfUmVhbCAocG9seV90ZXJtIHAyKSkpDQotICAo ISBpICheIChwb2x5X2FkZCBwMSBwMikgcDMpDQotICAgICh0aF9ob2xkcyAoPjBfUmVhbCAocG9s eV90ZXJtIHAzKSkpKSkpKSkpKQ0KLSAgICANCi0oZGVjbGFyZSBscmFfYWRkXz1fZGlzdGluY3QN Ci0gICghIHAxIHBvbHkNCi0gICghIHAyIHBvbHkNCi0gICghIHAzIHBvbHkNCi0gICghIGYxICh0 aF9ob2xkcyAoPTBfUmVhbCAocG9seV90ZXJtIHAxKSkpDQotICAoISBmMiAodGhfaG9sZHMgKGRp c3RpbmN0MF9SZWFsIChwb2x5X3Rlcm0gcDIpKSkNCi0gICghIGkgKF4gKHBvbHlfYWRkIHAxIHAy KSBwMykNCi0gICAgKHRoX2hvbGRzIChkaXN0aW5jdDBfUmVhbCAocG9seV90ZXJtIHAzKSkpKSkp KSkpKSkNCi0gICAgDQotOzsgc3Vic3RyYWN0aW5nIGVxdWF0aW9ucw0KLQ0KLShkZWNsYXJlIGxy YV9zdWJfPV89DQotICAoISBwMSBwb2x5DQotICAoISBwMiBwb2x5DQotICAoISBwMyBwb2x5DQot ICAoISBmMSAodGhfaG9sZHMgKD0wX1JlYWwgKHBvbHlfdGVybSBwMSkpKQ0KLSAgKCEgZjIgKHRo X2hvbGRzICg9MF9SZWFsIChwb2x5X3Rlcm0gcDIpKSkNCi0gICghIGkgKF4gKHBvbHlfc3ViIHAx IHAyKSBwMykNCi0gICAgKHRoX2hvbGRzICg9MF9SZWFsIChwb2x5X3Rlcm0gcDMpKSkpKSkpKSkp KQ0KLSAgICANCi0oZGVjbGFyZSBscmFfc3ViXz5fPQ0KLSAgKCEgcDEgcG9seQ0KLSAgKCEgcDIg cG9seQ0KLSAgKCEgcDMgcG9seQ0KLSAgKCEgZjEgKHRoX2hvbGRzICg+MF9SZWFsIChwb2x5X3Rl cm0gcDEpKSkNCi0gICghIGYyICh0aF9ob2xkcyAoPTBfUmVhbCAocG9seV90ZXJtIHAyKSkpDQot ICAoISBpICheIChwb2x5X3N1YiBwMSBwMikgcDMpDQotICAgICh0aF9ob2xkcyAoPjBfUmVhbCAo cG9seV90ZXJtIHAzKSkpKSkpKSkpKQ0KLSAgICANCi0oZGVjbGFyZSBscmFfc3ViXz49Xz0NCi0g ICghIHAxIHBvbHkNCi0gICghIHAyIHBvbHkNCi0gICghIHAzIHBvbHkNCi0gICghIGYxICh0aF9o b2xkcyAoPj0wX1JlYWwgKHBvbHlfdGVybSBwMSkpKQ0KLSAgKCEgZjIgKHRoX2hvbGRzICg9MF9S ZWFsIChwb2x5X3Rlcm0gcDIpKSkNCi0gICghIGkgKF4gKHBvbHlfc3ViIHAxIHAyKSBwMykNCi0g ICAgKHRoX2hvbGRzICg+PTBfUmVhbCAocG9seV90ZXJtIHAzKSkpKSkpKSkpKQ0KLSAgICANCi0o ZGVjbGFyZSBscmFfc3ViX2Rpc3RpbmN0Xz0NCi0gICghIHAxIHBvbHkNCi0gICghIHAyIHBvbHkN Ci0gICghIHAzIHBvbHkNCi0gICghIGYxICh0aF9ob2xkcyAoZGlzdGluY3QwX1JlYWwgKHBvbHlf dGVybSBwMSkpKQ0KLSAgKCEgZjIgKHRoX2hvbGRzICg9MF9SZWFsIChwb2x5X3Rlcm0gcDIpKSkN Ci0gICghIGkgKF4gKHBvbHlfc3ViIHAxIHAyKSBwMykNCi0gICAgKHRoX2hvbGRzIChkaXN0aW5j dDBfUmVhbCAocG9seV90ZXJtIHAzKSkpKSkpKSkpKSkNCi0NCi0gOzsgY29udmVydGluZyBiZXR3 ZWVuIHRlcm1zIGFuZCBwb2x5bm9taWFscw0KLQ0KLShkZWNsYXJlIHBvbHlfbm9ybSAoISB0ICh0 ZXJtIFJlYWwpICghIHAgcG9seSB0eXBlKSkpIA0KLQ0KLShkZWNsYXJlIHBuX2xldCANCi0gICgh IHQgKHRlcm0gUmVhbCkNCi0gICghIHAgcG9seQ0KLSAgKCEgcG4gKHBvbHlfbm9ybSB0IHApDQot ICAoISB1ICghIHBudCAocG9seV9ub3JtIHQgcCkNCi0gICAgICAgICBib3R0b20pDQotICAgIGJv dHRvbSkpKSkpDQotDQotKGRlY2xhcmUgcG5fY29uc3QNCi0gICghIHggbXBxDQotICAgIChwb2x5 X25vcm0gKGFfcmVhbCB4KSAocG9seWMgeCBsbW9ubikpKSkNCi0gIA0KLShkZWNsYXJlIHBuX3Zh cg0KLSAgKCEgdiB2YXJfcmVhbA0KLSAgICAocG9seV9ub3JtIChhX3Zhcl9yZWFsIHYpIChwb2x5 YyAwLzEgKGxtb25jIDEvMSB2IGxtb25uKSkpKSkNCi0NCi0NCi0oZGVjbGFyZSBwbl8rDQotICAo ISB4ICh0ZXJtIFJlYWwpDQotICAoISBweCBwb2x5DQotICAoISB5ICh0ZXJtIFJlYWwpDQotICAo ISBweSBwb2x5DQotICAoISBweiBwb2x5DQotICAoISBwbnggKHBvbHlfbm9ybSB4IHB4KQ0KLSAg KCEgcG55IChwb2x5X25vcm0geSBweSkNCi0gICghIGEgKF4gKHBvbHlfYWRkIHB4IHB5KSBweikN Ci0gICAgKHBvbHlfbm9ybSAoK19SZWFsIHggeSkgcHopKSkpKSkpKSkpDQotICAgIA0KLShkZWNs YXJlIHBuXy0NCi0gICghIHggKHRlcm0gUmVhbCkNCi0gICghIHB4IHBvbHkNCi0gICghIHkgKHRl cm0gUmVhbCkNCi0gICghIHB5IHBvbHkNCi0gICghIHB6IHBvbHkNCi0gICghIHBueCAocG9seV9u b3JtIHggcHgpDQotICAoISBwbnkgKHBvbHlfbm9ybSB5IHB5KQ0KLSAgKCEgYSAoXiAocG9seV9z dWIgcHggcHkpIHB6KQ0KLSAgICAocG9seV9ub3JtICgtX1JlYWwgeCB5KSBweikpKSkpKSkpKSkN Ci0gICAgDQotKGRlY2xhcmUgcG5fbXVsX2NfTA0KLSAgKCEgeSAodGVybSBSZWFsKQ0KLSAgKCEg cHkgcG9seQ0KLSAgKCEgcHogcG9seQ0KLSAgKCEgeCBtcHENCi0gICghIHBueSAocG9seV9ub3Jt IHkgcHkpDQotICAoISBhICheIChwb2x5X211bF9jIHB5IHgpIHB6KQ0KLSAgICAocG9seV9ub3Jt ICgqX1JlYWwgKGFfcmVhbCB4KSB5KSBweikpKSkpKSkpDQotICAgIA0KLShkZWNsYXJlIHBuX211 bF9jX1INCi0gICghIHkgKHRlcm0gUmVhbCkNCi0gICghIHB5IHBvbHkNCi0gICghIHB6IHBvbHkN Ci0gICghIHggbXBxDQotICAoISBwbnkgKHBvbHlfbm9ybSB5IHB5KQ0KLSAgKCEgYSAoXiAocG9s eV9tdWxfYyBweSB4KSBweikNCi0gICAgKHBvbHlfbm9ybSAoKl9SZWFsIHkgKGFfcmVhbCB4KSkg cHopKSkpKSkpKQ0KLQ0KLTs7IGZvciBwb2x5bm9taWFsaXppbmcgb3RoZXIgdGVybXMsIGluIHBh cnRpY3VsYXIgaXRlJ3MNCi0NCi0oZGVjbGFyZSB0ZXJtX2F0b20gKCEgdiB2YXJfcmVhbCAoISB0 ICh0ZXJtIFJlYWwpIHR5cGUpKSkNCi0NCi0oZGVjbGFyZSBkZWNsX3Rlcm1fYXRvbQ0KLSAgKCEg dCAodGVybSBSZWFsKQotICAoISB1ICghIHYgdmFyX3JlYWwKLSAgICAgICAoISBhICh0ZXJtX2F0 b20gdiB0KQotICAgICAgICAgYm90dG9tKSkKLSAgICBib3R0b20pKSkNCi0gICAgDQotKGRlY2xh cmUgcG5fdmFyX2F0b20NCi0gICghIHYgdmFyX3JlYWwNCi0gICghIHQgKHRlcm0gUmVhbCkNCi0g ICghIGEgKHRlcm1fYXRvbSB2IHQpDQotICAgIChwb2x5X25vcm0gdCAocG9seWMgMC8xIChsbW9u YyAxLzEgdiBsbW9ubikpKSkpKSkNCi0NCi0NCi07OyBjb252ZXJzaW9uIGJldHdlZW4gdGVybSBm b3JtdWxhcyBhbmQgcG9seW5vbWlhbCBmb3JtdWxhcw0KLQ0KLShkZWNsYXJlIHBvbHlfZm9ybXVs YV9ub3JtICghIGZ0IGZvcm11bGEgKCEgZnAgZm9ybXVsYSB0eXBlKSkpIA0KLQ0KLTsgY29udmVy dCBiZXR3ZWVuIHRlcm0gZm9ybXVsYXMgYW5kIHBvbHlub21pYWwgZm9ybXVsYXMNCi0NCi0oZGVj bGFyZSBwb2x5X2Zvcm0NCi0gICghIGZ0IGZvcm11bGENCi0gICghIGZwIGZvcm11bGENCi0gICgh IHAgKHBvbHlfZm9ybXVsYV9ub3JtIGZ0IGZwKQ0KLSAgKCEgdSAodGhfaG9sZHMgZnQpDQotICAg ICh0aF9ob2xkcyBmcCkpKSkpKQ0KLSAgICANCi0oZGVjbGFyZSBwb2x5X2Zvcm1fbm90DQotICAo ISBmdCBmb3JtdWxhDQotICAoISBmcCBmb3JtdWxhDQotICAoISBwIChwb2x5X2Zvcm11bGFfbm9y bSBmdCBmcCkNCi0gICghIHUgKHRoX2hvbGRzIChub3QgZnQpKQ0KLSAgICAodGhfaG9sZHMgKG5v dCBmcCkpKSkpKSkNCi0gDQotOyBmb3JtIGVxdWl2YWxlbmNlIGJldHdlZW4gdGVybSBmb3JtdWxh IGFuZCBwb2x5bm9taWFsIGZvcm11bGEgDQotICAgDQotKGRlY2xhcmUgcG9seV9ub3JtXz0NCi0g ICghIHggKHRlcm0gUmVhbCkNCi0gICghIHkgKHRlcm0gUmVhbCkNCi0gICghIHAgcG9seQ0KLSAg KCEgbiAocG9seV9ub3JtICgtX1JlYWwgeCB5KSBwKQ0KLSAgKCEgdSAoISBwbiAocG9seV9mb3Jt dWxhX25vcm0gKD0gUmVhbCB4IHkpICg9MF9SZWFsIChwb2x5X3Rlcm0gcCkpKQ0KLSAgICAgICAg IGJvdHRvbSkNCi0gICAgYm90dG9tKSkpKSkpDQotIA0KLShkZWNsYXJlIHBvbHlfbm9ybV8+DQot ICAoISB4ICh0ZXJtIFJlYWwpDQotICAoISB5ICh0ZXJtIFJlYWwpDQotICAoISBwIHBvbHkNCi0g ICghIG4gKHBvbHlfbm9ybSAoLV9SZWFsIHggeSkgcCkNCi0gICghIHUgKCEgcG4gKHBvbHlfZm9y bXVsYV9ub3JtICg+X1JlYWwgeCB5KSAoPjBfUmVhbCAocG9seV90ZXJtIHApKSkNCi0gICAgICAg ICBib3R0b20pDQotICAgIGJvdHRvbSkpKSkpKQ0KLSAgICANCi0oZGVjbGFyZSBwb2x5X25vcm1f PA0KLSAgKCEgeCAodGVybSBSZWFsKQ0KLSAgKCEgeSAodGVybSBSZWFsKQ0KLSAgKCEgcCBwb2x5 DQotICAoISBuIChwb2x5X25vcm0gKC1fUmVhbCB5IHgpIHApDQotICAoISB1ICghIHBuIChwb2x5 X2Zvcm11bGFfbm9ybSAoPF9SZWFsIHggeSkgKD4wX1JlYWwgKHBvbHlfdGVybSBwKSkpDQotICAg ICAgICAgYm90dG9tKQ0KLSAgICBib3R0b20pKSkpKSkNCi0gICAgDQotKGRlY2xhcmUgcG9seV9u b3JtXz49DQotICAoISB4ICh0ZXJtIFJlYWwpDQotICAoISB5ICh0ZXJtIFJlYWwpDQotICAoISBw IHBvbHkNCi0gICghIG4gKHBvbHlfbm9ybSAoLV9SZWFsIHggeSkgcCkNCi0gICghIHUgKCEgcG4g KHBvbHlfZm9ybXVsYV9ub3JtICg+PV9SZWFsIHggeSkgKD49MF9SZWFsIChwb2x5X3Rlcm0gcCkp KQ0KLSAgICAgICAgIGJvdHRvbSkNCi0gICAgYm90dG9tKSkpKSkpDQotICAgIA0KLShkZWNsYXJl IHBvbHlfbm9ybV88PQ0KLSAgKCEgeCAodGVybSBSZWFsKQ0KLSAgKCEgeSAodGVybSBSZWFsKQ0K LSAgKCEgcCBwb2x5DQotICAoISBuIChwb2x5X25vcm0gKC1fUmVhbCB5IHgpIHApDQotICAoISB1 ICghIHBuIChwb2x5X2Zvcm11bGFfbm9ybSAoPD1fUmVhbCB4IHkpICg+PTBfUmVhbCAocG9seV90 ZXJtIHApKSkNCi0gICAgICAgICBib3R0b20pDQotICAgIGJvdHRvbSkpKSkpKQ0KLSAgICANCi0o ZGVjbGFyZSBwb2x5X25vcm1fZGlzdGluY3QNCi0gICghIHggKHRlcm0gUmVhbCkNCi0gICghIHkg KHRlcm0gUmVhbCkNCi0gICghIHAgcG9seQ0KLSAgKCEgbiAocG9seV9ub3JtICgtX1JlYWwgeSB4 KSBwKSAgICAgICA7IG5vdGUgdGhlIHNpZ24gY2hhbmdlDQotICAoISB1ICghIHBuIChwb2x5X2Zv cm11bGFfbm9ybSAoZGlzdGluY3QgUmVhbCB4IHkpIChkaXN0aW5jdDBfUmVhbCAocG9seV90ZXJt IHApKSkNCi0gICAgICAgICBib3R0b20pDQotICAgIGJvdHRvbSkpKSkpKQ0KLSAgICANCi07OyBu ZWdhdGVkIHBvbHlub21pYWwgZm9ybXVsYSBjb252ZXJzaW9uDQotDQotKGRlY2xhcmUgbHJhX25v dF89X3RvX2Rpc3RpbmN0DQotICAoISBwIHBvbHkNCi0gICghIHAnIHBvbHkNCi0gICghIGYgKHRo X2hvbGRzIChub3QgKD0wX1JlYWwgKHBvbHlfdGVybSBwKSkpKQ0KLSAgKCEgdSAoXiAocG9seV9u ZWcgcCkgcCcpDQotICAgICh0aF9ob2xkcyAoZGlzdGluY3QwX1JlYWwgKHBvbHlfdGVybSBwJykp KSkpKSkpDQotICAgIA0KLShkZWNsYXJlIGxyYV9ub3RfPl90b18+PQ0KLSAgKCEgcCBwb2x5DQot ICAoISBwJyBwb2x5DQotICAoISBmICh0aF9ob2xkcyAobm90ICg+MF9SZWFsIChwb2x5X3Rlcm0g cCkpKSkNCi0gICghIHUgKF4gKHBvbHlfbmVnIHApIHAnKQ0KLSAgICAodGhfaG9sZHMgKD49MF9S ZWFsIChwb2x5X3Rlcm0gcCcpKSkpKSkpKQ0KLSAgICANCi0oZGVjbGFyZSBscmFfbm90Xz49X3Rv Xz4NCi0gICghIHAgcG9seQ0KLSAgKCEgcCcgcG9seQ0KLSAgKCEgZiAodGhfaG9sZHMgKG5vdCAo Pj0wX1JlYWwgKHBvbHlfdGVybSBwKSkpKQ0KLSAgKCEgdSAoXiAocG9seV9uZWcgcCkgcCcpDQot ICAgICh0aF9ob2xkcyAoPjBfUmVhbCAocG9seV90ZXJtIHAnKSkpKSkpKSkNCi0gICAgDQotKGRl Y2xhcmUgbHJhX25vdF9kaXN0aW5jdF90b189DQotICAoISBwIHBvbHkNCi0gICghIHAnIHBvbHkN Ci0gICghIGYgKHRoX2hvbGRzIChub3QgKGRpc3RpbmN0MF9SZWFsIChwb2x5X3Rlcm0gcCkpKSkN Ci0gICghIHUgKF4gKHBvbHlfbmVnIHApIHAnKQ0KLSAgICAodGhfaG9sZHMgKD0wX1JlYWwgKHBv bHlfdGVybSBwJykpKSkpKSkpDQoKZGlmZiAtLWdpdCBhL3RoX3JlYWwucGxmIGIvdGhfcmVhbC5w bGYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjYjI2OGQuLjAwMDAwMDAKLS0tIGEv dGhfcmVhbC5wbGYKKysrIC9kZXYvbnVsbApAQCAtMSwxNTMgKzAsMCBAQAotKGRlY2xhcmUgUmVh bCBzb3J0KQ0KLQ0KLShkZWZpbmUgYXJpdGhwcmVkX1JlYWwgKCEgeCAodGVybSBSZWFsKSANCi0g ICAgICAgICAgICAgICAgICAgICAgICghIHkgKHRlcm0gUmVhbCkgDQotICAgICAgICAgICAgICAg ICAgICAgICAgIGZvcm11bGEpKSkNCi0gICAgICAgICAgICAgICAgICAgIA0KLShkZWNsYXJlID5f UmVhbCBhcml0aHByZWRfUmVhbCkNCi0oZGVjbGFyZSA+PV9SZWFsIGFyaXRocHJlZF9SZWFsKQ0K LShkZWNsYXJlIDxfUmVhbCAgYXJpdGhwcmVkX1JlYWwpDQotKGRlY2xhcmUgPD1fUmVhbCBhcml0 aHByZWRfUmVhbCkNCi0NCi0oZGVmaW5lIGFyaXRodGVybV9SZWFsICghIHggKHRlcm0gUmVhbCkg DQotICAgICAgICAgICAgICAgICAgICAgICAoISB5ICh0ZXJtIFJlYWwpIA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAodGVybSBSZWFsKSkpKQ0KLShkZWNsYXJlICtfUmVhbCBhcml0aHRlcm1f UmVhbCkNCi0oZGVjbGFyZSAtX1JlYWwgYXJpdGh0ZXJtX1JlYWwpDQotKGRlY2xhcmUgKl9SZWFs IGFyaXRodGVybV9SZWFsKSAgDQotKGRlY2xhcmUgL19SZWFsIGFyaXRodGVybV9SZWFsKSAgDQot DQotOyBhIGNvbnN0YW50IHRlcm0NCi0oZGVjbGFyZSBhX3JlYWwgKCEgeCBtcHEgKHRlcm0gUmVh bCkpKQ0KLQ0KLTsgdW5hcnkgbmVnYXRpb24gPw0KLShkZWNsYXJlIHUtX1JlYWwgKCEgdCAodGVy bSBSZWFsKSAodGVybSBSZWFsKSkpDQotDQotOzsgbm9ybWFsaXphdGlvbiB0byA+PSwgPg0KLQ0K LShkZWNsYXJlIDxfdG9fPl9SZWFsDQotICAoISB4ICh0ZXJtIFJlYWwpDQotICAoISB5ICh0ZXJt IFJlYWwpDQotICAoISB1ICh0aF9ob2xkcyAoPF9SZWFsIHggeSkpDQotICAgKHRoX2hvbGRzICg+ X1JlYWwgeSB4KSkpKSkpDQotDQotKGRlY2xhcmUgPD1fdG9fPj1fUmVhbA0KLSAgKCEgeCAodGVy bSBSZWFsKQ0KLSAgKCEgeSAodGVybSBSZWFsKQ0KLSAgKCEgdSAodGhfaG9sZHMgKDw9X1JlYWwg eCB5KSkNCi0gICAgKHRoX2hvbGRzICg+PV9SZWFsIHkgeCkpKSkpKQ0KLSAgIA0KLShkZWNsYXJl IG5vdF88X3RvXz49X1JlYWwNCi0gICghIHggKHRlcm0gUmVhbCkNCi0gICghIHkgKHRlcm0gUmVh bCkNCi0gICghIHUgKHRoX2hvbGRzIChub3QgKDxfUmVhbCB4IHkpKSkNCi0gICAodGhfaG9sZHMg KD49X1JlYWwgeCB5KSkpKSkpDQotDQotKGRlY2xhcmUgbm90Xzw9X3RvXz5fUmVhbA0KLSAgKCEg eCAodGVybSBSZWFsKQ0KLSAgKCEgeSAodGVybSBSZWFsKQ0KLSAgKCEgdSAodGhfaG9sZHMgKG5v dCAoPD1fUmVhbCB4IHkpKSkNCi0gICAodGhfaG9sZHMgKD5fUmVhbCB4IHkpKSkpKSkNCi0gICAN Ci0oZGVjbGFyZSBub3RfPl90b18+PV9SZWFsIA0KLSAgKCEgeCAodGVybSBSZWFsKQ0KLSAgKCEg eSAodGVybSBSZWFsKQ0KLSAgKCEgdSAodGhfaG9sZHMgKG5vdCAoPl9SZWFsIHggeSkpKQ0KLSAg ICh0aF9ob2xkcyAoPj1fUmVhbCB5IHgpKSkpKSkNCi0NCi0oZGVjbGFyZSBub3RfPj1fdG9fPl9S ZWFsDQotICAoISB4ICh0ZXJtIFJlYWwpDQotICAoISB5ICh0ZXJtIFJlYWwpDQotICAoISB1ICh0 aF9ob2xkcyAobm90ICg+PV9SZWFsIHggeSkpKQ0KLSAgICh0aF9ob2xkcyAoPl9SZWFsIHkgeCkp KSkpKQ0KLQ0KLTs7IHRyYW5zaXRpdml0eSBmb3IgPj0sID4NCi0NCi0oZGVjbGFyZSB0cmFuc18+ PV8+PV9SZWFsDQotICAoISB4ICh0ZXJtIFJlYWwpDQotICAoISB5ICh0ZXJtIFJlYWwpDQotICAo ISB6ICh0ZXJtIFJlYWwpDQotICAoISB1MSAodGhfaG9sZHMgKD49X1JlYWwgeCB5KSkNCi0gICgh IHUyICh0aF9ob2xkcyAoPj1fUmVhbCB5IHopKQ0KLSAgICAodGhfaG9sZHMgKD49X1JlYWwgeCB6 KSkpKSkpKSkNCi0gICAgDQotKGRlY2xhcmUgdHJhbnNfPj1fPl9SZWFsDQotICAoISB4ICh0ZXJt IFJlYWwpDQotICAoISB5ICh0ZXJtIFJlYWwpDQotICAoISB6ICh0ZXJtIFJlYWwpDQotICAoISB1 MSAodGhfaG9sZHMgKD49X1JlYWwgeCB5KSkNCi0gICghIHUyICh0aF9ob2xkcyAoPl9SZWFsIHkg eikpDQotICAgICh0aF9ob2xkcyAoPl9SZWFsIHggeikpKSkpKSkpDQotICAgIA0KLShkZWNsYXJl IHRyYW5zXz5fPj1fUmVhbA0KLSAgKCEgeCAodGVybSBSZWFsKQ0KLSAgKCEgeSAodGVybSBSZWFs KQ0KLSAgKCEgeiAodGVybSBSZWFsKQ0KLSAgKCEgdTEgKHRoX2hvbGRzICg+X1JlYWwgeCB5KSkN Ci0gICghIHUyICh0aF9ob2xkcyAoPj1fUmVhbCB5IHopKQ0KLSAgICAodGhfaG9sZHMgKD5fUmVh bCB4IHopKSkpKSkpKQ0KLSAgICANCi0oZGVjbGFyZSB0cmFuc18+Xz5fUmVhbA0KLSAgKCEgeCAo dGVybSBSZWFsKQ0KLSAgKCEgeSAodGVybSBSZWFsKQ0KLSAgKCEgeiAodGVybSBSZWFsKQ0KLSAg KCEgdTEgKHRoX2hvbGRzICg+X1JlYWwgeCB5KSkNCi0gICghIHUyICh0aF9ob2xkcyAoPl9SZWFs IHkgeikpDQotICAgICh0aF9ob2xkcyAoPl9SZWFsIHggeikpKSkpKSkpDQotICAgIA0KLTsgcHJl ZGljYXRlIHdpdGggMCBhc3N1bWVkIGZvciB0aGUgUkhTDQotDQotKGRlZmluZSBhcml0aHByZWQw X1JlYWwgKCEgeCAodGVybSBSZWFsKSANCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBmb3Jt dWxhKSkNCi0gICAgICAgICAgICAgICAgICAgIA0KLShkZWNsYXJlID4wX1JlYWwgYXJpdGhwcmVk MF9SZWFsKQ0KLShkZWNsYXJlID49MF9SZWFsIGFyaXRocHJlZDBfUmVhbCkNCi0oZGVjbGFyZSA8 MF9SZWFsIGFyaXRocHJlZDBfUmVhbCkNCi0oZGVjbGFyZSA8PTBfUmVhbCBhcml0aHByZWQwX1Jl YWwpDQotKGRlY2xhcmUgPTBfUmVhbCBhcml0aHByZWQwX1JlYWwpDQotKGRlY2xhcmUgZGlzdGlu Y3QwX1JlYWwgYXJpdGhwcmVkMF9SZWFsKQ0KLQ0KLTs7IGNvbnZlcnNpb24gYmV0d2VlbiBhcml0 aHByZWQwX1JlYWwgYW5kIGFyaXRocHJlZF9SZWFsDQotDQotKGRlY2xhcmUgbm9ybV8+X1JlYWwN Ci0gICghIHggKHRlcm0gUmVhbCkNCi0gICghIHkgKHRlcm0gUmVhbCkNCi0gICghIHQgKHRoX2hv bGRzICg+X1JlYWwgeCB5KSkNCi0gICAgKHRoX2hvbGRzICg+MF9SZWFsICgtX1JlYWwgeCB5KSkp KSkpKQ0KLSAgICANCi0oZGVjbGFyZSBub3JtXz49X1JlYWwNCi0gICghIHggKHRlcm0gUmVhbCkN Ci0gICghIHkgKHRlcm0gUmVhbCkNCi0gICghIHQgKHRoX2hvbGRzICg+PV9SZWFsIHggeSkpDQot ICAgICh0aF9ob2xkcyAoPj0wX1JlYWwgKC1fUmVhbCB4IHkpKSkpKSkpDQotICAgIA0KLShkZWNs YXJlIG5vcm1fPF9SZWFsDQotICAoISB4ICh0ZXJtIFJlYWwpDQotICAoISB5ICh0ZXJtIFJlYWwp DQotICAoISB0ICh0aF9ob2xkcyAoPF9SZWFsIHggeSkpDQotICAgICh0aF9ob2xkcyAoPDBfUmVh bCAoLV9SZWFsIHggeSkpKSkpKSkNCi0gICAgDQotKGRlY2xhcmUgbm9ybV88PV9SZWFsDQotICAo ISB4ICh0ZXJtIFJlYWwpDQotICAoISB5ICh0ZXJtIFJlYWwpDQotICAoISB0ICh0aF9ob2xkcyAo PD1fUmVhbCB4IHkpKQ0KLSAgICAodGhfaG9sZHMgKDw9MF9SZWFsICgtX1JlYWwgeCB5KSkpKSkp KQ0KLSAgICANCi0oZGVjbGFyZSBub3JtXz1fUmVhbA0KLSAgKCEgeCAodGVybSBSZWFsKQ0KLSAg KCEgeSAodGVybSBSZWFsKQ0KLSAgKCEgdCAodGhfaG9sZHMgKD0gUmVhbCB4IHkpKQ0KLSAgICAo dGhfaG9sZHMgKD0wX1JlYWwgKC1fUmVhbCB4IHkpKSkpKSkpDQotICAgIA0KLShkZWNsYXJlIG5v cm1fZGlzdGluY3RfUmVhbA0KLSAgKCEgeCAodGVybSBSZWFsKQ0KLSAgKCEgeSAodGVybSBSZWFs KQ0KLSAgKCEgdCAodGhfaG9sZHMgKGRpc3RpbmN0IFJlYWwgeCB5KSkNCi0gICAgKHRoX2hvbGRz IChkaXN0aW5jdDBfUmVhbCAoLV9SZWFsIHggeSkpKSkpKSkNCi0gICAgDQotOzsgd2Vha2VuIHRv IG5vbi1zdHJpY3QgaW5lcXVhbGl0eQ0KLQ0KLShkZWNsYXJlID4wX3RvXz49MF9SZWFsDQotICAo ISB4ICh0ZXJtIFJlYWwpDQotICAoISB1ICh0aF9ob2xkcyAoPjBfUmVhbCB4KSkNCi0gICAodGhf aG9sZHMgKD49MF9SZWFsIHgpKSkpKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK