Last active
April 24, 2018 05:52
-
-
Save bokub/16c8e01d23153caf22ff9c5b81da9c5d to your computer and use it in GitHub Desktop.
Revisions
-
bokub revised this gist
Apr 24, 2018 . No changes.There are no files selected for viewing
-
bokub revised this gist
Apr 15, 2018 . 1 changed file with 119 additions and 112 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,112 +1,119 @@ MzkwMDg2YmI3ZWY0OTg4YjlmNjdlZjJjNTE4YmEwMjI3NThkOTIzYiojTWF0dGhldyBHYXJyZXR0 KiNtamc1OS1naXRodWJAc3JjZi51Y2FtLm9yZyojMTUyMzc3ODg0MiojRXVmeSBjb2xvdXIgYnVs YiB1cGRhdGVzICgjMTM4OTUpCmMwMTgwNzEyMTg4MzIyMTQyZmRhYmM3ZDYyYzFlOTgwNjU4NDUy MzcqI1Bhc2NhbCBWaXplbGkqI3Bhc2NhbC52aXplbGlAc3lzaGFjay5jaCojMTUyMzc3ODY0NCoj UmV2ZXJ0ICJVcGRhdGUgeXdlYXRoZXIucHkiICgjMTM5MDApCjkwMTRlMjY4NDU2NTA2NmFmYWRk MjVlYThkYzk4MGY2M2QwMWE4YzQqI0dlcmFyZCojZ2VyYXJkMzNAdXNlcnMubm9yZXBseS5naXRo dWIuY29tKiMxNTIzNzYyMTUyKiNBZGQgdW5pcXVlX2lkIGZvciBCTVcgQ29ubmVjdGVkRHJpdmUg KCMxMzg4OCkKMWM0ZGEwYzRhNmMzMTQ2ZDQ3ODNlMDk2MTRlMTUxZjRlYjkwY2JlOCojVG9kIFNj aG1pZHQqI3RzY2htaWR0eUB5YWhvby5jb20qIzE1MjM3NDM2NzUqI0FkZGVkIHNuaXBzIHNlcnZp Y2UgZGVzY3JpcHRpb25zICgjMTM4ODMpCmJiYTk5N2U0ODRiYWFmOWE0MTUzNTJhOTcxZjhhZTkx ZTk5YTZhMjcqI1BhdWx1cyBTY2hvdXRzZW4qI3BhdWx1c0BwYXVsdXNzY2hvdXRzZW4ubmwqIzE1 MjM3NDMxMjUqI0ZpeCByYWNlIGNvbmRpdGlvbiBmb3IgY29tcG9uZW50IGxvYWRlZCBiZWZvcmUg bGlzdGVuaW5nICgjMTM4ODcpCmJmOThiNzkzYzVjZmIxNjNmNTg3MDQ3YjI0Y2ZjNTVlMDQxYWRi ZTkqI1NlYmFzdGlhbiBNdXN6eW5za2kqI2Jhc3RpQGxpbmt0LmRlKiMxNTIzNzQyODE1KiNNaXNz aW5nIHByb3BlcnR5IGRlY29yYXRvciBhZGRlZCAoIzEzODg5KQoxNjE3ZmJlYTRjNDU3MGJlYTAy ZDdkOTRiYmUzMTQyNDhhNWE1YTE3KiNQYXVsdXMgU2Nob3V0c2VuKiNwYXVsdXNAcGF1bHVzc2No b3V0c2VuLm5sKiMxNTIzNzMxMjgxKiNVcGRhdGUgZnJvbnRlbmQgdG8gMjAxODA0MTQuMAo0ZDQ0 YzBmZWZmMDNkZGYxYzBjNTdiZDEzMGNkMWJkZmE4YzY2MjFhKiNQYXVsdXMgU2Nob3V0c2VuKiNw YXVsdXNAcGF1bHVzc2Nob3V0c2VuLm5sKiMxNTIzNzMxMTA0KiNGdXJ0aGVyIHVudGFuZ2xlIGRh dGEgZW50cnkgZmxvdyAoIzEzODU1KQo1YTVkYWQ2ODliMzQyMTUyMmI4Y2ZhNDczYzExMWQxNTVl YjJlY2I2KiNlc2NvYW5kKiNlc2NvYW5kQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbSojMTUyMzcw OTA3MiojYWRkIHN1cHBvcnQgZm9yIEtvZGkgZGlzY292ZXJ5ICgjMTM3OTApCmMzMzg4ZDYzYTE5 MjlhNmMxOTc2NDRkMWFlMWY2MjJjNGQ1OGM3OTMqI1RoZUNlbGxNQyojdGhlY2VsbG1jQGdtYWls LmNvbSojMTUyMzY5NDc2NCojVXBkYXRlIHl3ZWF0aGVyLnB5ICgjMTM4NTEpCmVlNmFjYWRhZTIw NTA3YWZhNmVkMTM1MjNlYTY3NDYxMGI0M2U3OWQqI1BhdWx1cyBTY2hvdXRzZW4qI3BhdWx1c0Bw YXVsdXNzY2hvdXRzZW4ubmwqIzE1MjM2OTQ2NjMqI1ByZXZlbnQgdmVzeW5jIGRvaW5nIEkvTyBp biBldmVudCBsb29wICgjMTM4NjIpCjgwYTMyMjBiODhmMGZlYmMwYTA2MGI2NTZjNDRjMjEyZGQ5 NzNiMTkqI2RlcnNnZXIqI2RlcnNnZXJAdXNlcnMubm9yZXBseS5naXRodWIuY29tKiMxNTIzNjcy NTIyKiNBdm9pZCB1bm5lY2Vzc2FyeSBjYXN0IHN0YXRlIHVwZGF0ZXMgKCMxMzc3MCkKOTlkZWQ4 YTBhNjYyNTEzYWIwYzUwZjlhM2YwMDAzNjljNmExOTBkYSojTW9oYW1hZCBUYXJiaW4qI21oZWQu dDkxQGdtYWlsLmNvbSojMTUyMzY3MDg2MyojQWRkaW5nIFVTQ0lTIGNvbXBvbmVudCAoIzEzNzY0 KQpjNmMxNjY2NDVkNTZkN2Q5NDM4MGRkZjBmNTFiM2JmODU4YjY5YzIyKiNnZWVrb2Z3ZWVrKiNh YXJvbkBzdWVybWFubi5vcmcqIzE1MjM2Njk4MDYqI2J1bXAgcHl0aG9uLWVjb2JlZS1hcGkgdmVy c2lvbiB0byAwLjAuMTggKCMxMzg1NCkKMGRhZjM4ZDE4YzIxNzE0NTU4NjVjYTRkM2ZjN2UxNGZi MzQ0OWQ2MiojUGF1bHVzIFNjaG91dHNlbiojYmFsbG9vYkBnbWFpbC5jb20qIzE1MjM2NTY5NzEq I1ZlcnNpb24gYnVtcCB0byAwLjY4LjAuZGV2MAo1ZWMzMGNlMWU2NDRkNmMyNmI3YzdkYjczM2Qz MDNmOTRmMDc5OTlkKiNQYXVsdXMgU2Nob3V0c2VuKiNiYWxsb29iQGdtYWlsLmNvbSojMTUyMzY1 NjkzNSojTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gZGV2CmZiOTFiMDUwNTE4ZjliNzY5MmQ4 YWJiZDNiOTE1NTljNDE3NTUwMTIqI1BhdWx1cyBTY2hvdXRzZW4qI3BhdWx1c0BwYXVsdXNzY2hv dXRzZW4ubmwqIzE1MjM2NTY3NzkqI01lcmdlIHB1bGwgcmVxdWVzdCAjMTM4NTYgZnJvbSBob21l LWFzc2lzdGFudC9yYwpjMzZjMmJlMzcyMThhMWU5N2E2YzRjMWI5ZDNjNWRkMjNlODczYzZiKiNQ YXVsdXMgU2Nob3V0c2VuKiNiYWxsb29iQGdtYWlsLmNvbSojMTUyMzY1Mjc3MCojVmVyc2lvbiBi dW1wIHRvIDAuNjcuMAo1OThmMDkzYmYwZmVjZGVmYWEzZDk1ZDFkZGFlNzEzMTdhMDUzMjFlKiNQ YXVsdXMgU2Nob3V0c2VuKiNwYXVsdXNAcGF1bHVzc2Nob3V0c2VuLm5sKiMxNTIzNjE5MTI1KiNB ZGQgYXV0aGVudGljYXRpb24gdG8gZXJyb3IgbG9nIGVuZHBvaW50ICgjMTM4MzYpCmI5MzA2YTVl NTIxYjg1NWI2ZGRkZjRiOTIxMzZhMmMzYzI0YjgyZTIqI3N0ZXBoYW5lcm9zaSojc3RlcGhhbmUu cm9zaUBnbWFpbC5jb20qIzE1MjM1NDA2OTYqI0NoYW5uZWwgdXAvZG93biBmb3IgTGl2ZVRWIGFu ZCBuZXh0L3ByZXZpb3VzIGZvciBvdGhlciBhcHBzICgjMTM4MjkpCmFjMjI5ODE4OWU5YmE0YjY1 ZmUzMTBjYjhjZTYxZjI4OWNkNjc4ZGUqI01hdHRoZXcgR2FycmV0dCojbWpnNTktZ2l0aHViQHNy Y2YudWNhbS5vcmcqIzE1MjM2NDAzMzUqI0FkZCBzdXBwb3J0IGZvciBjb250cm9sbGluZyBob21l a2l0IGxpZ2h0cyBhbmQgc3dpdGNoZXMgKCMxMzM0NikKNjA1MDhmNzIxNThiY2Y1ZmQxYjU1M2Yw M2EyZDhhMTU5MTdiYzA4NSojUGF1bHVzIFNjaG91dHNlbiojcGF1bHVzQHBhdWx1c3NjaG91dHNl bi5ubCojMTUyMzYyODg5MyojRXh0cmFjdCBjb25maWcgZmxvdyB0byBvd24gbW9kdWxlICgjMTM4 NDApCmRkZDIwMDM2MjkyODUzYzE0MzZmNjBhM2QzZWM3NzI2YTVkYjY3MTQqI0Rpb2dvIEdvbWVz KiNkaW9nb2dvbWVzQGdtYWlsLmNvbSojMTUyMzYyMjMwMyojaW5pdGlhbGl6ZSBxdWV1ZSBiZWZv cmUgZmlsdGVyaW5nICgjMTM4NDIpCjIwYWJhYmVjM2UyOGNlZDkxZmMzZDNlNzliMjI5NjEyYTNk OWM5OWQqI1BhdWx1cyBTY2hvdXRzZW4qI3BhdWx1c0BwYXVsdXNzY2hvdXRzZW4ubmwqIzE1MjM2 MTkxMjUqI0FkZCBhdXRoZW50aWNhdGlvbiB0byBlcnJvciBsb2cgZW5kcG9pbnQgKCMxMzgzNikK ZDNiMjYxYTI1ZDZiOGI2N2IxYzdkZTkwMjhjMzFiNjYwNzk5YmI4YiojTWFyayBDb29tYmVzKiNt YXJrQG1hcmtjb29tYmVzLmNhKiMxNTIzNjAyNzM3KiNBZGQgc3VwcG9ydCBmb3IgZGVDT05aIGRh eWxpZ2h0IHNlbnNvciAoIzEzNDc5KQozOTA2MjUwYzllMWU3YTMxNGYwYmY2MmNjZTBiZjUxNTVj ZGRiMzAwKiNGYWJpYW4gQWZmb2x0ZXIqI21haWxAZmFiaWFuLWFmZm9sdGVyLmNoKiMxNTIzNjAy MjU4KiNVcGRhdGUgZXhhbXBsZSAoZml4ZXMgIzEzODM0KSAoIzEzODM5KQoyMmExYjk5ZTU3YmEz MTE5N2ZjYzRhOTIzMzgwM2JhNjVhNjZlZDQ5KiNEaW9nbyBHb21lcyojZGlvZ29nb21lc0BnbWFp bC5jb20qIzE1MjM1NzE3NzIqI1VQblAgYXN5bmMgKCMxMzY2NikKNjJkYzczN2VhMzEzZjUyOThl MDMyZDgxZjg5ZGQ2ZjI0MzQ3MjZlMCojTWlzdGVyIFdpbCojMTA5MTc0MStNaXN0ZXJXaWxAdXNl cnMubm9yZXBseS5naXRodWIuY29tKiMxNTIzNTY0ODQzKiNBYm9kZSBiZXR0ZXIgZXZlbnRzICgj MTM4MDkpCjk5Mzg2NmEzMTQzNWQyODZkNTZhYWQ4ZDRhNTMxNmQ0ZDMwMDdkZTEqI01hcmsgQ29v bWJlcyojbWFya0BtYXJrY29vbWJlcy5jYSojMTUyMzU0OTMyOCojU3VwcG9ydCBHYXJhZ2UgRG9v cnMgaW4gSG9tZUtpdCAoIzEzNzk2KQo1MWJkZDA2ZDFmMDc1MTY5MjgyZGM0NGVlZjc2ODlhMTZl ZTUyZDMxKiN4VEN4KiNiaXQuYXNhZkBnbWFpbC5jb20qIzE1MjM1NDI0MTEqI0NsaWNrc2VuZDog QWRkZWQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgcmVjaXBpZW50cyAoIzEzODEyKQpkMjgwNGIwYTI3 YTBmNzNhYjkxMjIxN2U0ZTJiZTQ0MTJjN2FkNjhhKiNzdGVwaGFuZXJvc2kqI3N0ZXBoYW5lLnJv c2lAZ21haWwuY29tKiMxNTIzNTQwNjk2KiNDaGFubmVsIHVwL2Rvd24gZm9yIExpdmVUViBhbmQg bmV4dC9wcmV2aW91cyBmb3Igb3RoZXIgYXBwcyAoIzEzODI5KQpjODYzYjk2MTRjZjVkMWNjMTMy YWZmNjY0NTMwZDY3M2FjNmFmYjNkKiNZb25zbSojSUBZT05TTS5ORVQqIzE1MjM1MzgxMDEqI1N1 cHBvcnQgQ08yL1BNMi41L0xpZ2h0IHNlbnNvcnMgaW4gSG9tZUtpdCAoIzEzODA0KQpmNDc1NzJk M2MwYjgxZjczYmU0MWU4MTYxZTMyZTQyYmUxNGMxNjRmKiNQYXVsdXMgU2Nob3V0c2VuKiNwYXVs dXNAcGF1bHVzc2Nob3V0c2VuLm5sKiMxNTIzNTM2MTM0KiNBbGxvdyBwbGF0Zm9ybSB1bmxvYWRp bmcgKCMxMzc4NCkKOWJkMjk1ODlkNTBhNzgzMmE2MzM3OGNkY2FhNTY3NGQxZmU0ZWYyYyojUGF1 bHVzIFNjaG91dHNlbiojcGF1bHVzQHBhdWx1c3NjaG91dHNlbi5ubCojMTUyMzUzNTcyNyojVmVy c2lvbiBidW1wIHRvIDAuNjcuMGIxCmYyOTkwNGYxYjU2YzJhNDg2MTExMzc0ZWU4MWQxODk4ZTFm MDRmZDYqI01hcmNvIE9yb3ZlY2NoaWEqI09yb0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20qIzE1 MjM1MTc4NDcqI1JlbmFtZSBmcm9tIGF1cm9yYSBsaWdodCB0byBuYW5vbGVhZl9hdXJvcmEgKCMx MzgzMSkKMjM0NDk1ZWQwNTQ5Y2QzMzQ5MGFjNDEzMjlmZTI2YmYwMDk5YzY0NSojQW5kZXJzIE1l bGNoaW9yc2VuKiNhbWVsY2hpb0Bub2dvdG8ubmV0KiMxNTIzNDk0NzM3KiNGaXggdG9vIGdyZWVu IGNvbG9yIGNvbnZlcnNpb24gKCMxMzgyOCkKMDlkYmQ5NDQ2NzQ5MGUyZDc4MDE4MWE3MGYwMGQ3 MDk5MTM0MDBlZSojQWRhbSBNaWxscyojYWRhbUBhcm1pbGxzLmluZm8qIzE1MjMzODM4NjAqI2ln bG8gaHMgY29sb3IgZml4ICgjMTM4MDgpCmJkNThhMGRlN2RhYjZkYzgxMTlkZGVhNTg3OGYyN2Vk MWZiMjVjMWUqI1BhdWx1cyBTY2hvdXRzZW4qI3BhdWx1c0BwYXVsdXNzY2hvdXRzZW4ubmwqIzE1 MjMzMjMyODYqI1JlbW92ZSB2ZW5kb3IgbG9va3VwIGZvciBtYWMgYWRkcmVzc2VzICgjMTM3ODgp CmRkN2U2ZWRmNjEzMjU2MGY2MDg1YTZhOGM3ZjRiYWRhMGY2MThmYzgqI2NkY2U4cCojMzAxMzAz NzErY2RjZThwQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbSojMTUyMzUzMTk2MSojSG9tZUtpdCB0 eXBlX2NvdmVyIGZpeCAoIzEzODMyKQpiNzUyY2EzYmVmMDFhY2JiNDMzZDVmOWU1NzFlNWEwNjAx YWM5ZjFiKiNNYXJjbyBPcm92ZWNjaGlhKiNPcm9AdXNlcnMubm9yZXBseS5naXRodWIuY29tKiMx NTIzNTE3ODQ3KiNSZW5hbWUgZnJvbSBhdXJvcmEgbGlnaHQgdG8gbmFub2xlYWZfYXVyb3JhICgj MTM4MzEpCjljMWJjMThkZWZiYzkyYTU4N2QzNTA4YmI1NjhlZjFlMTdjZGRiY2UqI0FuZGVycyBN ZWxjaGlvcnNlbiojYW1lbGNoaW9Abm9nb3RvLm5ldCojMTUyMzQ5NDczNyojRml4IHRvbyBncmVl biBjb2xvciBjb252ZXJzaW9uICgjMTM4MjgpCjJhNTc1MWMwOWQ2MjgyMzM3MWRhMTRlOWJkYjFi MTkxNDM4NTFjODUqI2NkY2U4cCojMzAxMzAzNzErY2RjZThwQHVzZXJzLm5vcmVwbHkuZ2l0aHVi LmNvbSojMTUyMzQ3ODI1NCojSG9tZWtpdCByZWZhY3RvciAoIzEzNzA3KQo4ZDQ4MTY0ZjI1ZjNi N2YyNzJlZTQ4NmVjZGViNmUxZThlNGM2MTc0KiNNYXR0aGV3IEdhcnJldHQqI21qZzU5LWdpdGh1 YkBzcmNmLnVjYW0ub3JnKiMxNTIzNDEwNzAzKiNBZGQgc3VwcG9ydCBmb3IgRXVmeSBidWxicyBh bmQgc3dpdGNoZXMgKCMxMzc3MykKYjI2OTVlNDk4ZDAwYWU3OWYwMTAzNWJlODg1ZDM0YzliZTY5 YjVhNyojRGFuaWVsIFBlcm5hKiNkYW5pZWxwZXJuYTg0QGdtYWlsLmNvbSojMTUyMzM5NjAzNioj VXBkYXRlIHB5aG9tZW1hdGljIHRvIDAuMS40MSAoIzEzODE0KQoxNmExYTRlMGIxODdlOTliOWIx MTNhZDhmOTQ2YmZhYzY2ZTYyYWQ2KiNEYW5pZWwgSMO4eWVyIEl2ZXJzZW4qI21haWxAZGFob2l2 Lm5ldCojMTUyMzM5MTE3NSojVGliYmVyIGxpYiB1cGRhdGUgKCMxMzgxMSkKMTkxZTMyZjZjZjEy YmRkYTk1YzA0M2I5MmM5NzRjOWFlZjkwYmUxOSojV29qdGVrKiN3d2FsYXN6ZWtAZ21haWwuY29t KiMxNTIzMzg3NTA1KiNVcGRhdGUgeXdlYXRoZXIucHkgKCMxMzgwMikKOTc4YTc5ZDM2OWIyZDBi MTY3MGU3ODNjN2UzODU2ZjczODhkZmZjZiojVG9ieSBHcmF5KiN0b2J5LmdyYXlAZ21haWwuY29t KiMxNTIzMzg1NTE2KiNkZXZpY2VfdHJhY2tlci51YnVzOiBIYW5kbGUgZGV2aWNlcyBub3QgcnVu bmluZyBESENQICgjMTM1NzkpCmNmODhkOGExYjkyYjkxZjA4NDMxODZhOGQwZjJiOGVlYWRiZjY4 ODUqI0FkYW0gTWlsbHMqI2FkYW1AYXJtaWxscy5pbmZvKiMxNTIzMzgzODYwKiNpZ2xvIGhzIGNv bG9yIGZpeCAoIzEzODA4KQoyNzA3ZDM1YTg2Mzg2NjJkZWNkMDRhMzM4M2Q1ZjE5MjdhY2Y4YmQw KiNSdXNzZWxsIENsb3JhbiojcmNsb3JhbitnaXRodWJAZ21haWwuY29tKiMxNTIzMzQ0MzQxKiNV cGRhdGUgYmVsbG93cyB0byAwLjUuMiAoIzEzODAwKQo3ZWE3NzZkZmY0Y2M4OGZmN2RlMDc1MjEz NmE0NTJkZDQ0ZGNhOTk1KiNNaWNoYWVsIEt1dMO9KiM2ZHUxcm8ubkBnbWFpbC5jb20qIzE1MjMz NDEyNDcqI0ZpeCBiYWQgbWV0cmljcyBmb3JtYXQgZm9yIHNob3J0IG1ldHJpY3MuICgjMTM3Nzgp -
bokub revised this gist
Apr 24, 2017 . 1 changed file with 1 addition and 332 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -109,335 +109,4 @@ cCBjb25uZWN0aW9uIGF0IGVuZCBvZiBwaXBlbGluZSIKMTViYjM5MmFmZGZlZjI2MTQ4YjFkNTVm MTIzYjVhYjAwMzQ4NDk2YSojUnlhbiBEYWhsKiNyeUB0aW55Y2xvdWRzLm9yZyojMTI3MzQ1NTk2 NCojRGlzYWJsZSB0ZXN0LXJlbW90ZS1tb2R1bGUtbG9hZGluZwpiNzg1MDgyNjZiZWM2NTMwZTA4 Y2NlZGZkNzYwOGZlOTFkM2ZkY2I0KiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcz NDQ3NDA5KiNDaGFuZ2Ugc3RyaW5nLmggdG8gc3RyaW5ncy5oIGNvbXBpbGUgb24gc29sYXJpcw== -
bokub created this gist
Apr 24, 2017 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,443 @@ MDIyYzA4Mzg0ODBkZGVjMzM0ZTg1ZGQ4YThjYTdkMzc2ZWIyNmQ5NSojUnlhbiBEYWhsKiNyeUB0 aW55Y2xvdWRzLm9yZyojMTI3NDM3NTUyNSojRGVwcmVjYXRlIHN5cy5wKCkKNDRhZDZhN2RiMjg1 NzhkMDgyOGZjM2NlYWRlN2E2YTEyZWJlNzg1MiojUnlhbiBEYWhsKiNyeUB0aW55Y2xvdWRzLm9y ZyojMTI3NDM3Mzc2NyojTWFrZSBidWZmZXIncyBjKysgY29uc3RydWN0b3IgcHVibGljCjViNzQw YzQ4OGYwZTQyNTFhM2U1MzRjYWI3OWRhOGIwNWRmN2ExOTUqI2lzYWFjcyojaUBpenMubWUqIzEy NzQyNDkwNjQqI0ZpeCBhIGxlYWtpbmcgZ2xvYmFsCjc4YmUxZTQ5MzAwNzUyZWUxYzRiM2ViNDkx ZmJiZTQyZjZiZWFhZWIqI2lzYWFjcyojaUBpenMubWUqIzEyNzM0NDcyMTUqI1JlbW92ZSB0aGUg UmVwb3J0RXhjZXB0aW9uIGZyb20gdGhlIFNjcmlwdCBjbGFzcwpkOGFmOWQ4ZWRmODg0MjBmYWM4 MjE4NDMxNTYzMTJhMjFmNzY4MTE4KiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjc0 MzA2MzQzKiNNaW5vciBzdHlsZSBjaGFuZ2VzIGZvciBmcy53cml0ZSBjb2RlCmM0NmNiZTBkZTQ2 MTMyNDUwOTUxMTVkZDkwOWMyNTRhOWRhMmVkMWIqI0ZlbGl4IEdlaXNlbmTDtnJmZXIqI2ZlbGl4 QGRlYnVnZ2FibGUuY29tKiMxMjc0MjkzMDcwKiNEZXByZWNhdGUgc3RyaW5nIGludGVyZmFjZSBm b3IgZnMud3JpdGUoKQpjNDg5YzJjMWI1N2M1NDdjMWNkYTAxMWFlYzNmZmI0MTE2OTg1NjA2KiNS eWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjc0MjkyMDgxKiNGaXggYXBpIGZvciByZXF1 ZXN0LmNvbm5lY3Rpb24KMjQyMGYwN2U5NDc5YjVjNDAxNDBlMDFkY2E1M2RiMzUxMmIyZmFmNCoj UGV0ZXIgR3JpZXNzKiNwZ0BzdGQuaW4qIzEyNzQyMjk2NDQqI0FsbG93IHByb2Nlc3Muc2V0dWlk KCkgYW5kIHByb2Nlc3Muc2V0Z2lkKCkgdG8gYWNjZXB0IHN0cmluZyBuYW1lcyBpbiBsaWV1IG9m IG51bWVyaWMgSURzCjI2NjNjNjlmOGQ4ZWE0ZGY5ZmJjNDBiMDMxODYyNTkxODYwMTFlOTcqI1J5 YW4gRGFobCojcnlAdGlueWNsb3Vkcy5vcmcqIzEyNzQyMDAzNDgqI0ZpeCB1dGY4c3RyZWFtIHJl ZmVyZW5jZXMKZjk4N2VjZjQ1YmU2ZjVjN2MxOGQ1Y2ViZDM4YmUwYjQxMTY0ODE0MCojRmVsaXgg R2Vpc2VuZMO2cmZlciojZmVsaXhAZGVidWdnYWJsZS5jb20qIzEyNzQxNTA1NDQqI1VzZSBVdGY4 U3RyZWFtIGZvciBodHRwIFN0cmVhbXMgd2l0aCB1dGY4IGVuY29kaW5nCmVkNWYxMTYyZmFlMjMw M2EzMjQwMTdhOThiMjQ3NzI4ZGJlNDcxOGUqI0ZlbGl4IEdlaXNlbmTDtnJmZXIqI2ZlbGl4QGRl YnVnZ2FibGUuY29tKiMxMjc0MTUwNTQ0KiNVc2UgVXRmOFN0cmVhbSBmb3IgbmV0IFN0cmVhbXMg d2l0aCB1dGY4IGVuY29kaW5nCmNhYmE5YzcwYzM0YzFmNTE3YWUyZmUyMGE3NDI1Y2MyMGMwODAw ZmMqI0ZlbGl4IEdlaXNlbmTDtnJmZXIqI2ZlbGl4QGRlYnVnZ2FibGUuY29tKiMxMjc0MTQ5NTUx KiNJbXBsZW1lbnRlZCBVdGY4RGVjb2RlciBtb2R1bGUKZTIzMmYwOWQzODE5NDg0NDMwNWI0MDM4 YTY4YjhhNzA3MTc3MDRlNCojUnlhbiBEYWhsKiNyeUB0aW55Y2xvdWRzLm9yZyojMTI3NDEzNDky OSojZnMuV3JpdGVTdHJlYW0ud3JpdGUgc2hvdWxkIHN1cHBvcnQgYnVmZmVyCjEwMzZhYTk3NjJj N2YwOGEwZjBlOTU1MmRhN2M0ZmJiYjZlZWMwOTEqI1J5YW4gRGFobCojcnlAdGlueWNsb3Vkcy5v cmcqIzEyNzQxMjk4OTUqI0ZpeCBlcnJubyBkaXNwbGF5IGluIGMtYXJlcyBleGNlcHRpb25zCjBh NTM5ODY1ZGQ1ZTk0ZDE0MDNiZDE1YzQzYTY0NGY0Y2QxOTU4Y2IqI0ZlbGl4IEdlaXNlbmTDtnJm ZXIqI2ZlbGl4QGRlYnVnZ2FibGUuY29tKiMxMjc0MTAzMjM2KiNTdXBwb3J0IGFycmF5cyBhbmQg c3RyaW5ncyBpbiBidWZmZXIgY29uc3RydWN0b3IKNDU5NDhlMDU0ZDEzZmRmOGFlN2M4YmZkMTJk N2RhNThjOTQ2NjZiOSojdmlzaW9ubWVkaWEqI3RqQHZpc2lvbi1tZWRpYS5jYSojMTI3Mzg0ODc2 OSojQWRkZWQgYmV0dGVyIGVycm9yIG1lc3NhZ2VzIGZvciBhc3luYyBhbmQgc3luYyBmcyBjYWxs cyB3aXRoIHBhdGhzCjUzYTk4NjlmZjdmNzI0ZjY4NzE0OWZlOTViYzYwNjA5ZTdmNWY5YzcqI0pv bmFzIFBmZW5uaWdlciojam9uYXNAcGZlbm5pZ2VyLm5hbWUqIzEyNzM4MzU2MDcqI0ZJWDogRXZl bnRFbWl0dGVyI3JlbW92ZUFsbExpc3RlbmVycyBzaWduYXR1cmUKZmVhNmY4MjliZjZjYzBkMmYz ZjY5OGE3ODY4MzI3OTdkNWRkYWU4ZSojSm9uYXMgUGZlbm5pZ2VyKiNqb25hc0BwZmVubmlnZXIu bmFtZSojMTI3MzgzNTU2MSojRklYOiBFdmVudEVtaXR0ZXIjcmVtb3ZlTGlzdGVuZXIgbG9naWMK NDI3NGU2YjdkMGY1ZWIzNTU5ZGQ4ZjkxOTQxY2U0N2Q5YTY4ZTM3MCojSm9uYXMgUGZlbm5pZ2Vy KiNqb25hc0BwZmVubmlnZXIubmFtZSojMTI3MzgyMzk3MSojRklYOiBzaWduYWwtdW5yZWdpc3Rl ciBidWcKNTAxNDgwMjJkMTZmN2YwMjU2ZmNkMDY3NDExZmE4NzNiY2Y2MmE4YSojSm9uYXMgUGZl bm5pZ2VyKiNqb25hc0BwZmVubmlnZXIubmFtZSojMTI3MzgyMzgyMiojVGhpbm5lciBTaWduYWxX YXRjaGVyLCBvbmx5IHVzaW5nIGNhbGxiYWNrCjk1OTk2MDcwNjUwYzVkNDg3YzFhYmFhMjI3Yjcz YWIxYjc3MTI3OGUqI0FuZHJldyBKb2huc3RvbiojYXBqb2huc3RvQGdtYWlsLmNvbSojMTI2OTI0 MjcyNCojQWRkZWQgcG9zaXggZnN5bmMgYW5kIGZkYXRhc3luYyB0byBmcyBtb2R1bGUKYWMzYTJk ODk5YTEyYjdlYWJmMDFlYjcyYjRjMWRlNjhiNmEzNGUyYiojUnlhbiBEYWhsKiNyeUB0aW55Y2xv dWRzLm9yZyojMTI3Mzg4MDE3NyojQ2hhbmdlcyB0byB3b3JrIG9uIFNvbGFyaXMgMTAKYTliOTYy YTY1MzE2MmMwZmYwMjU2OTgzNjdhZWFkMzA4Y2IxOGI4ZSojUnlhbiBEYWhsKiNyeUB0aW55Y2xv dWRzLm9yZyojMTI3Mzg4MDA4NyojQWRkIC0td2l0aG91dC1zc2wgY29uZmlndXJlIG9wdGlvbgow YjdiZGE4ZjQ2ZGIzNmY5NTFlNjQ0Mzc3ZmQ0YzIwYzQ2MWE1MmNhKiNSeWFuIERhaGwqI3J5QHRp bnljbG91ZHMub3JnKiMxMjczODc5ODQxKiNSZW1vdmUgc29tZSB1bnVzZWQgY3J1ZnQgZnJvbSB3 c2NyaXB0CmRhOTMyMzA0MGY5Y2JiMDczZWRjZjA4MWU5MzY5ZDBhNDc1NWE5ZjUqI1J5YW4gRGFo bCojcnlAdGlueWNsb3Vkcy5vcmcqIzEyNzM4NjI4OTQqI1NpbXBsaWZ5IHN0YWNrIHRyYWNlIHJl cG9ydGluZyB1c2luZyBuZXcgVjggQVBJCjMyMGQzZTlkMzMyZDc3ZjgyODEwNTU5NThmNjNjMDMz NDM5NTJiNzUqI1J5YW4gRGFobCojcnlAdGlueWNsb3Vkcy5vcmcqIzEyNzM4NjA5MzEqI0ZpeCBB VVRIT1JTIGZpbGUKY2Q0Zjk0ZTcxYWVhNjI4MmE1MGQ3MmVlNTI2MjQ4MTlmZWNiZWI5MSojTWF0 dCBSYW5uZXkqI21qckByYW5uZXkuY29tKiMxMjczODIwNzkyKiNBZGQgdGVzdCBmb3IgZXhjZXB0 aW9ucyBpbiBIVFRQIHBhcnNlciBldmVudCBoYW5kbGVycy4KMzA3ZTcwYWZhZjRhZmZmY2JiYTcx NGM3MjdiYTU0MzU5OTc5ZGFjOCojTWF0dCBSYW5uZXkqI21qckByYW5uZXkuY29tKiMxMjczODIw ODIxKiNSZW1vdmUgdW51c2VkIENTUyByZWZlcmVuY2UuCjFmMDk2MzU1OGMyZTNmN2EwMmY0ZDNj MmRiODEyMWM1ZjlhMTJjNjkqI01hdHQgUmFubmV5KiNtanJAcmFubmV5LmNvbSojMTI3MzI2NDY1 MCojQWRkIHByb2Nlc3MudmVyc2lvbiBkZXNjcmlwdGlvbi4KNGU0MGU4ODA0YjgzMWFjMGIwYmE4 N2UxNDUwNjBiMDg0Yjk4MDI2MyojSsOpcsOpbXkgTGFsKiNrYXBvdWVyQG1lbGl4Lm9yZyojMTI3 Mzc5NDYyNiojU3lzdGVtIEVWIGNvbXBhdGliaWxpdHkgZml4IDogdXNlIEVWX0RFRkFVTFRfVUMK MDkxNGQzMzg0Mjk3NmMyYzg3MGRmMDY1NzNiNjhmOTE5MmExZmI3YSojUnlhbiBEYWhsKiNyeUB0 aW55Y2xvdWRzLm9yZyojMTI3Mzc4NzkxMSojYnVtcCB2ZXJzaW9uCjIzZDY4MGJiODU4MTM0YmIz OGE3NDQyM2ZiODZiOGQ1ODQ3N2JiYjQqI1J5YW4gRGFobCojcnlAdGlueWNsb3Vkcy5vcmcqIzEy NzM3OTMwNDUqI0FsbG93IHBhcmFsbGVsIGpvYnMgdG8gYmUgcGFzc2VkIHRvIFY4IGJ1aWxkCmNl MmQ1YWQwZDc0YzU1ZTUwODE4NjNlYWRhZDMyMjQ0ZTU4MjlkNDIqI1J5YW4gRGFobCojcnlAdGlu eWNsb3Vkcy5vcmcqIzEyNzM3OTEyOTAqI0NoYW5nZSB0aGUgJ21ha2UgZGlzdCcgdG8gcmVtb3Zl IHY4IHRlc3QgZGlyCjk3NjkyNjM3NmQyNDlhOTJlZTk1Y2Y1ODVkNThjMzFjY2RkODU1NDUqI0Vs aWphaCBJbnN1YSojdG1wdmFyQGdtYWlsLmNvbSojMTI3Mzc3OTczNyojSGFuZGxlIGVtcHR5IGZp bGVzIHdpdGggZnMucmVhZEZpbGUKYzZjNzdkNTM1ZjBlMDcyOTEzYmE5YTRkMDEwMTA1MjAwZWQ5 ZmE3ZSojQmVuIE5vb3JkaHVpcyojYm5vb3JkaHVpc0BiZW5kZXIuKG5vbmUpKiMxMjczNjk2NTMz KiNTdXBwb3J0IGZvciBmc3RhdCgyKSB0aHJvdWdoIGZzLmZzdGF0KCkgYW5kIGZzLmZzdGF0U3lu YygpLiBBZGRlZCB0ZXN0IGNhc2VzLCB1cGRhdGVkIGRvY3VtZW50YXRpb24uCjY3ZWVlZGQ2MDJi MGEzMGI2N2ZiMjc1MmViZWYzNTA3ZmVkMTIxNDcqI1J5YW4gRGFobCojcnlAdGlueWNsb3Vkcy5v cmcqIzEyNzM2OTM1NTMqI0Rpc2FibGUgdGVzdC1zaWduYWwtdW5yZWdpc3Rlci5qcyBhcyBmdW5j dGlvbmFsaXR5IGRvZXNuJ3QgZXhpc3QgeWV0CjFjNzY3MGFjYTJkMWVjMjkwOWJmZmQ0ODU1MGE1 NTU2YTM5MTFjNGUqI1J5YW4gRGFobCojcnlAdGlueWNsb3Vkcy5vcmcqIzEyNzM2OTE4NjUqI1Jl bW92ZSByZWZlcmVuY2UgdG8gQysrIEV2ZW50RW1pdHRlciBpbiBkb2NzCmQwMTI4Nzg3ZTc0YzM2 ZDU4OWYwMGFjODlhYjE3OTAyZGQ4ZTBkZTAqI1J5YW4gRGFobCojcnlAdGlueWNsb3Vkcy5vcmcq IzEyNzM2OTE3NTgqI0RlcHJlY2F0ZSBzZW5kSGVhZGVyKCkgYW5kIHdyaXRlSGVhZGVyKCksIHBw bCBzaG91bGQgdXNlIHdyaXRlSGVhZCgpCjdhMmU2ZDY3NGE5NGUwMWExN2U4NTZiNGQ1MWVjMjI5 ZmFkOWFmNTEqI1J5YW4gRGFobCojcnlAdGlueWNsb3Vkcy5vcmcqIzEyNzM2ODk3MjEqI0RlZmF1 bHQgdG8gMiBzZWNvbmQgdGltZW91dCBmb3IgaHR0cCBzZXJ2ZXJzCmVkMGMxMDk5NTBiZGQzNGNj ZmQxZDNhYWFhNjNlMzhiNTBkMjA5N2UqI1J5YW4gRGFobCojcnlAdGlueWNsb3Vkcy5vcmcqIzEy NzM2ODYxMzQqI0FkZCBub3RlIGFib3V0ICdlcnJvcicgZXZlbnQgdG8gZG9jcwpkMmNmZjM0ZmEz ZGI5OWRmZDFmZjYyMjY2Mjk2NDYwMGQyOTUzMjViKiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMu b3JnKiMxMjczNjgzNjg3KiNJZGxlIHRpbWVvdXQgY2hhbmdlcwpmN2ZmNTQ4ZGQwMWMxOGYxNGU2 ZjIzYzVkNmFiNjI4ZTAwYzQyOWRhKiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcz NTk4NzI3KiNRdW90ZSB2YXJpYWJsZXMgaW4gY29uZmlndXJlIHNjcmlwdApjOTBlNDRlNTgyMzg1 ZTM2YzNhYzE2MThmNmY0NzgyZjdhNjA2MTdhKiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3Jn KiMxMjczNTM0NzI3KiNKdXN0IGFkZCBhbiBleHRyYSBpbmNsdWRlIGZvciBzdHJpbmdzLmggLSBk b24ndCB0cnkgdG8gYmUgY3V0ZQo4ZTViOTFjNzliYWI4NWQ1YTU0OGRjM2IxOWMzZGNlNGY4YmEy OWY5KiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjczNTM0Njk0KiNSZXZlcnQgIkNo ZWNrIGZvciBzdHJpbmdzLmgiCjAzMmY2NTE4MjQ4NjljNDI5Y2MyNGZiZDlmN2EyM2U4NGVkMzRi MWYqI1J5YW4gRGFobCojcnlAdGlueWNsb3Vkcy5vcmcqIzEyNzM1MzI3NDIqI0NoZWNrIGZvciBz dHJpbmdzLmgKMzVkZDBmYjI3MTZmNzg0OGJlMzRiZDY2Zjc0MjBhNWYyZjNjODBlNyojUnlhbiBE YWhsKiNyeUB0aW55Y2xvdWRzLm9yZyojMTI3MzUzMzk0MyojUGF0Y2ggdjggYnVpbGQgZm9yIHNv bGFyaXMKNjE1ZDg5MDYyMjZmZmM1NjIzOGI0NDE0MWNkYjMzNzRmNDdlODA1YSojUnlhbiBEYWhs KiNyeUB0aW55Y2xvdWRzLm9yZyojMTI3MzUxMDcwMCojVXBncmFkZSBWOCB0byAyLjIuOQo4YWIy MzhlN2RlODQyOTk2MWNlNGQ2ZmQ5MTE0NTU1ZTVkZjkwYTEzKiNSeWFuIERhaGwqI3J5QHRpbnlj bG91ZHMub3JnKiMxMjczNDY1NzkxKiNSZXZlcnQgImRlc3Ryb3kgaW5zdGVhZCBvZiBlbmQgaHR0 cCBjb25uZWN0aW9uIGF0IGVuZCBvZiBwaXBlbGluZSIKMTViYjM5MmFmZGZlZjI2MTQ4YjFkNTVm MTIzYjVhYjAwMzQ4NDk2YSojUnlhbiBEYWhsKiNyeUB0aW55Y2xvdWRzLm9yZyojMTI3MzQ1NTk2 NCojRGlzYWJsZSB0ZXN0LXJlbW90ZS1tb2R1bGUtbG9hZGluZwpiNzg1MDgyNjZiZWM2NTMwZTA4 Y2NlZGZkNzYwOGZlOTFkM2ZkY2I0KiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcz NDQ3NDA5KiNDaGFuZ2Ugc3RyaW5nLmggdG8gc3RyaW5ncy5oIGNvbXBpbGUgb24gc29sYXJpcwox ZWNiMTFmOTQ0NmY3NzE1MDBjZWM0MGYwY2YzNTA0ZWFlYzZlNzU1KiNSeWFuIERhaGwqI3J5QHRp bnljbG91ZHMub3JnKiMxMjczNDQyODc0KiNBZGQgZmFpbGluZyB0ZXN0IC0gaHR0cCByZXNwb25z ZXMgbm90IGFsbCBjb21wbGV0ZQphYjA2OGRiOWIxMmE5ZmI4NjE5ZjZhOTQyOTlhOGQ3YTM1ZDQ2 OTViKiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjczNDM4NDk4KiNJbXByb3ZlIGVy cm9yIHJlcG9ydGluZwoxZDI4Y2ZjZmI5YWQ0OGUwM2EwYjZjNDhlZGE5N2I1YzkxYTVlM2FlKiNS eWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjczNDMyMjM4KiNCZXR0ZXIgbG9naWMgZm9y IHRlc3RpbmcgaWYgYW4gYXJndW1lbnQgaXMgYSBwb3J0CmQzOGQ5NmViNjEwYjUwYmRiZmU4Njlh NmU3Njg4ZTM0Njk4NGMwZmEqI1J5YW4gRGFobCojcnlAdGlueWNsb3Vkcy5vcmcqIzEyNzMzODY1 MDYqI0Rvbid0IGVtaXQgJ2V4aXQnIHR3aWNlIGZyb20gY2hpbGQgcHJvY2VzcwpkNzc2MmRmZmUz NGJjZmIzZjUxMzA4NzQ0NGZkMDdhYmJjNzY2NGMyKiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMu b3JnKiMxMjczMzg2MjY0KiNGb3Jnb3QgdG8gYWRkIGNoaWxkX3Byb2Nlc3Nfc2hvdWxkX2VtaXRf ZXJyb3IuanMKMjY0ZTU0MGQwMDhhMjUxYTdlMzdmMzY3NjExNjc3NDE0YzI1OTFkMSojUnlhbiBE YWhsKiNyeUB0aW55Y2xvdWRzLm9yZyojMTI3MzM4MTkxNSojRml4IGVycm9yIHJlcG9ydGluZyBp biBjaGlsZF9wcm9jZXNzIGNhbGxiYWNrcwphNWIxMzJhZDYzMGI4NDNlODIyYTMzMmNlZjhjNjll ZmQ2Zjg2MzkxKiNyZW50enNjaCojandyLmdpdEByZWRzaGVkLm5ldCojMTI3MzI5ODk2OSojZnMu U3RhdHMuc2l6ZSBWODo6SW50ZWdlciA9PiBWODo6TnVtYmVyLgozYWM2ZGVlZmE4MTEyYTI4NWZi NTc4ODc1YzBhYThlYjc0MWUxZTIzKiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcz Mjg0MzU5KiNDaGFuZ2UgR0MgaWRsZSBub3RpZnkgc28gdGhhdCBpdCBydW5zIGFsb25nIHNpZGUg c2V0SW50ZXJ2YWwKYmM0NWFkY2ZmYWM2NzVhNDIzZDRkMGU1YTc2NTY1MGQ3M2RlOTUyYyojaXNh YWNzKiNpQGl6cy5tZSojMTI3MzI2MTgzNiojQWRkIGJpbmRpbmcuY2xvc2UgdG8gZnMucmVhZEZp bGUKYzA3YzYwMWMzYjgxMzIxMDRiODZjNzcwZWE3NTFkZGM4YTFiMDM1NSojVGltIENhc3dlbGwq I3RpbUBjcmVhdGlvbml4LmNvbSojMTI3MzIwODYyMyojZnMucmVhZEZpbGUgdXNlcyBhIGJ1ZmZl ciBpbnRlcm5hbGx5IGFuZCB3aWxsIHJldHVybiB0aGUgcmF3IGJ1ZmZlciBpZiBubyBlbmNvZGlu ZyBpcyBzcGVjaWZpZWQuCjYyYjY0MmE4OGQyNGY4NzJmMDQ5ZDczZDM5ZTY4NDRjYWIxZmI4ZGYq I1J5YW4gRGFobCojcnlAdGlueWNsb3Vkcy5vcmcqIzEyNzMxODA1MTYqI2ZpeCBhdXRob3JzIGZp bGUKZDI0MTU5NDVjMTk5OTFlZDEwMjMwOGNmYWI5ODVmZWE4NzIxYjFkYyojUnlhbiBEYWhsKiNy eUB0aW55Y2xvdWRzLm9yZyojMTI3MzE4MDQ5MiojSW5zdGFsbCBub2RlX2J1ZmZlci5oIG9uIG1h a2UgaW5zdGFsbApmNzExZDUzNDNiMjlkMWU3MmU4NzEwNzMxNTcwOGU0MDk1MWE3ODI2KiNSeWFu IERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjczMTY3NTY3KiNidW1wIHZlcnNpb24KNmFhYjZl YmU2MTY4NDY0ZGU4ZTdiMGM3MjU0ZmFkNDc3MWYyODFjMSojUnlhbiBEYWhsKiNyeUB0aW55Y2xv dWRzLm9yZyojMTI3MzE2NTE3NSojVXBncmFkZSBWOCB0byAyLjIuOAo0Y2UxZTFmY2E1OWJjNmFk NmUyZDE5NjQzZGIyZWQzMTU5Y2NiN2RjKiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMx MjczMDQ4MzM4KiNkZXN0cm95IGluc3RlYWQgb2YgZW5kIGh0dHAgY29ubmVjdGlvbiBhdCBlbmQg b2YgcGlwZWxpbmUKMzY3NDU2M2RkNWVjMmM5YmEzMDFkZmVlNmIwNDZmM2UzOTY2YzNkZCojVGhv bWFzIExlZSojdGhvbWFzLmxlZUBzaGluZXRlY2guY29tKiMxMjczMDQ5NzA0KiNGaXggYSBidWcg aW4gaHR0cC5DbGllbnQgd2hlcmUgcGFyc2VycyBtYXkgYmUgcHJlbWF0dXJlbHkgcmVsZWFzZWQg YmFjayB0byB0aGUgZnJlZSBwb29sLgo4MmM4OTczZGZhNWRjMzlhNjE2NGE2ZmRhZDRjMjA2NjFk MGIxMjE1KiNKb25hdGhhbiBLbmV6ZWsqI2pka25lemVrQGdtYWlsLmNvbSojMTI3MzEyMzQyNSoj Q2hhbmdlZCB1bmRlZmluZWQgcG9zIHRvIG51bGwgdG8gcHJldmVudCBoYW5naW5nIG9uIFNoZWV2 YVBsdWcKODc0YjgwYmQ2YWZhMTdhZTVkYTBlYzViNDg1YTIwYzYxY2Y3ZDg3NSojSm9uYXRoYW4g S25lemVrKiNqZGtuZXpla0BnbWFpbC5jb20qIzEyNzMxMjMzMjUqI0FkZGVkIGMtYXJlcyBoZWFk ZXJzIGZvciBsaW51eC1hcm0KYWI3MjNkMDIyZDdhMDU1ZjA0NjIxNjAxM2M2NDAzMmNlZDllZDA4 MSojUnlhbiBEYWhsKiNyeUB0aW55Y2xvdWRzLm9yZyojMTI3MzAzNzc1NSojQWRkIGJ1ZmZlciBy ZXNwb25zZSB0byBodHRwX3NpbXBsZS5qcwoxNDE1NjUwNDYzNzVkYjZmYTQyN2JhMDE0MTEzYWJj YzlmNGQ1ODMzKiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjczMDM2MDA2KiNVc2Ug dGVzdCBwb3J0IGluc3RlYWQgb2YgODAwMCBpbiB0ZXN0LWh0dHAtMzA0CmMwZDQyYjAzNjUzNWFj OTc2ZGU4MDJmZjUzZTNjOTVmOTkzZDVlYjcqI2lzYWFjcyojaUBpenMubWUqIzEyNzMwMzU1MjMq I0xvb2sgaW4gL3Vzci9sb2NhbC9saWIvbm9kZSBmb3IgbW9kdWxlcywgc28gdGhhdCB0aGVyZSdz IGEgd2F5IHRvIGluc3RhbGwgbW9kdWxlcyBnbG9iYWxseQplYjQ5NTFkNDk5YTE4YjdjYzkyOTI5 ZGRiNjcwOWI2OTdlZGQzYzNlKiNNYXR0IFJhbm5leSojbWpyQHJhbm5leS5jb20qIzEyNzMwMzMw NDkqI0FkZCBwcm9wZXIgSFRNTCBoZWFkZXIgZm9yIGNoYW5nZWxvZyBzbyBVVEYtOCB3b3Jrcy4K NDUzYzllNjQxMTUyNzAxOGM2MTI0NWZiMjE1MTk0NmI3OTM2NWJhYyojUnlhbiBEYWhsKiNyeUB0 aW55Y2xvdWRzLm9yZyojMTI3MzAzNDE0NiojRml4IHdoaXRlc3BhY2UKMzg5MjYyODY1N2NhM2U1 NmQxNjQ3M2U2NWRhMzVjNzdhNzQzODJjNyojaXNhYWNzKiNpQGl6cy5tZSojMTI3MzAyMjkyOSoj RW1pdCBhIGJldHRlciBlcnJvciBtZXNzYWdlIHdoZW4gc29tZXRoaW5nIHN0cmFuZ2UgaXMgc2Vu dCB0byBPdXRnb2luZ01lc3NhZ2Ujd3JpdGUKZDA0NGUyZGUwN2YxNDc3NzFkZDY4ZmE4NTkxNjVk ZjYzODAyNjRjMCojUnlhbiBEYWhsKiNyeUB0aW55Y2xvdWRzLm9yZyojMTI3MzAwODA2MSojTGF6 eSBsb2FkIGNyeXB0bwphZmNlNGMzYWU4ZTNjNzliYzc3OTY3M2U2MGMxZTkyOGRlNTY0MTQyKiNS aHlzIEpvbmVzKiNyaHlzQHdhdmUudG8qIzEyNzMwMDYxNDAqI0FkZGVkIGRlZmF1bHQgQ0FzLCB1 cGRhdGVkIG9wZW5zc2wgdmVyaWZ5IGJlaGF2aW91ciwgYWRkZWQgY3J5cHRvIGFuZCBodHRwcyBk b2N1bWVudGF0aW9uCmI2YzVjZjYwYjdlNGM0NzQ2ZTE4NzA1NmE4ZjJhNzAyYTI4YWExNzYqI1J5 YW4gRGFobCojcnlAdGlueWNsb3Vkcy5vcmcqIzEyNzI5OTQ5MTYqI0lnbm9yZSBTSUdQSVBFCmQ5 ODgyMzk1ZTJjZWIwMjc0ZTE1YTNiYTgwZGY5MDBkMWU1MjdjMGQqI1BldGVyIEdyaWVzcyojcGdA c3RkLmluKiMxMjcyOTkwMzgzKiNGaXggU0VHViBieSBzZXR0aW5nIG1zZ19jb250cm9sbGVuIGVh cmxpZXIuCjFhMzE3MTM1YzVkNjVmZTUxOWFkOGZhMzM1MzQyMjcyZWE1M2RkYmMqI1JoeXMgSm9u ZXMqI3JoeXNAd2F2ZS50byojMTI3MjkyNjI2OSojQWRkaXRpb25hbCBPcGVuU1NMIHRlc3RzCjQz MGNmZDE4MjUyZjQ4MmNhNzYyOTEzMDI2YzVkZGU0ZmJkZTk0YjgqI1BhdWxvIE1hdGlhcyojcGF1 bG8ubWF0aWFzQHVzcC5iciojMTI3MjgyNDUwMyojUmVhZCBhbGwgcmVjb3JkcyB0byBhbHdheXMg ZW1wdHkgdGhlIE9wZW5TU0wgcmVhZGluZyBidWZmZXIuCjNmZWQxY2YzNmZlNjc5OWI1OTg3ZDM3 NjMzNGQyOWRkN2I3ZjcwZTgqI1BhdWxvIE1hdGlhcyojcGF1bG8ubWF0aWFzQHVzcC5iciojMTI3 Mjc3MTYyMSojTWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgY2xpZW50IGNlcnRpZmljYXRlcyB0byBj b25uZWN0IHdpdGggYSBub2RlanMgc2VydmVyLCBhbmQgbWFrZSB2ZXJpZnlQZWVyIGJlaGF2aW91 ciBjb25zaXN0YW50LgplYTM3ZDk4OTQ5ZGQ0ZjA5Y2YwOGMyOTcxM2MzODMwNTlkYmI2OTdhKiNS eWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcyOTE4MzQ4KiNJbXBsZW1lbnQgd3JpdGVT eW5jIGZvciBidWZmZXJzCjMyMDJiY2UyODhjNGI2ZTNhMDhiNWJmNTI1MDc5NTA0MjMyZjMyOTEq I1J5YW4gRGFobCojcnlAdGlueWNsb3Vkcy5vcmcqIzEyNzI5MTc5MTMqI0ltcGxlbWVudCBmcy5y ZWFkU3luYyBmb3IgYnVmZmVycwpkNzYwOTFkN2QxMDQ2ZGI3NTBkZDE0MTg0NGIyNDVkNmVjMzNj NDI3KiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcyOTE2NTMzKiNJbXBsZW1lbnQg ZnMucmVhZCgpIGZvciBCdWZmZXJzIChhZ2FpbikKN2E5YzgxZDJkYzM4YTZhYTliZTEyYzg5ZDFj ODE1Y2YwNjI5MGEyYSojUnlhbiBEYWhsKiNyeUB0aW55Y2xvdWRzLm9yZyojMTI3MjkxMjA5MCoj Rml4IG1lbW9yeSBsZWFrIHdpdGggZnMud3JpdGVTeW5jCmI1YmRmOTQzNGJmYTc3YzI4NDY3OGVm NmFlMDQzYThlMjA1ZThkNjUqI1J5YW4gRGFobCojcnlAdGlueWNsb3Vkcy5vcmcqIzEyNzI5MTEw MTYqI0FkZCBhbm90aGVyIGh0dHAgdXBncmFkZSB0ZXN0CmYwZmVjNzM1MmFjMjU2NTBhYmUzYjcy YjU5ZTc4YWViZDBhOTRlYmMqI1J5YW4gRGFobCojcnlAdGlueWNsb3Vkcy5vcmcqIzEyNzI5MDky MzIqI0Rvbid0IGVtaXQgZXJyb3IgdHdpY2UgZnJvbSBodHRwLkNsaWVudApmZDNlMWNhM2UyMWI5 MTA4YzQ3YzNkZTNlN2QyZGEzMjgyMTRlYTkxKiNNaWNoYWVsam9obiBDbGVtZW50KiNpbmltaW5v QGluaW1pbm8ub3JnKiMxMjcyODY5MzY0KiNkb2N1bWVudGF0aW9uIHR5cG9zIGFuZCB0d2Vha3MK NDhkNThmOTJmMTRjNTNiMzliY2M2ZGJhN2NjMDUwNThhMTU1MjU0YiojUnlhbiBEYWhsKiNyeUB0 aW55Y2xvdWRzLm9yZyojMTI3Mjg0OTYwMiojQWRkIHN5bWJvbHMgdG8gcmVsZWFzZSBidWlsZApk MTNmNTE4MDEwNjM4MGZiZDkxYmU0MDkyY2E3YmE3MDE2ZmYyOTYzKiNSeWFuIERhaGwqI3J5QHRp bnljbG91ZHMub3JnKiMxMjcyODQ3MDgyKiNSZXZlcnQgY2hhbmdlcyB0byBub2RlX2ZpbGUuY2MK OTk5ODQ3NzJkZjFjYjYzZmQyYTU2ZjJlY2E2MmIwMTI2NTNlOTc0ZSojUnlhbiBEYWhsKiNyeUB0 aW55Y2xvdWRzLm9yZyojMTI3Mjg0NjM3OCojQWxsb3cgZGlmZmVyZW50IHBvcnRzIGZvciBodHRw X3NpbXBsZS5qcwo1NDU3ZWFlMjhjMjQ3MzlkMmQwZDc3OWFiMGY3ZGViNDk5OWEzNjM2KiNSeWFu IERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcyODQ0OTMzKiNGaXggbWVtb3J5IGxlYWsgaW4g ZnMud3JpdGVTeW5jKCkKNjEzNjRmOTQ0M2ZhNTlmMjYxZmQ3ZWEzZDFkNGU4YTBkNzQ3ZmQ0Nyoj UnlhbiBEYWhsKiNyeUB0aW55Y2xvdWRzLm9yZyojMTI3MjgyNDM0MSojR251VExTIC0+IE9wZW5T U0wgb24gd2Vic2l0ZQphMWYyM2MxYWExMDNhMmM0MmMxODU1NzAzZDUxYjgyYmE1Nzc3Zjk4KiNk cGI1ODcqI2NvZGUrbm9kZUBkcGJpcy5uZXQqIzEyNzI3NjUxNDAqI0ZpeCBhIGNvdXBsZSBtaXN0 eXBlcyBpbiBBUEkgZG9jCjNkYjYxM2UzMWFjZjY2ZjhhZTFiMTZmMmNhZjhiNzE5Y2RiOTM4Mzcq I01pY2hlaWwgU21pdGgqI21pY2hlaWxAYnJhbmRlZGNvZGUuY29tKiMxMjcyNzY2MDg4KiNEb2N1 bWVudGluZyBodHRwLlNlcnZlciNldmVudDp1cGdyYWRlCmFlZTIyNmIyNDM0YmZjOTQ3NTcxM2E4 MDVlMzAzZTg3ZjA3MjA3OTAqI01pY2hlaWwgU21pdGgqI21pY2hlaWxAYnJhbmRlZGNvZGUuY29t KiMxMjcyNzYyMDY2KiNGaXhpbmcgdGhlIDEgYnl0ZSBvZmYgZXJyb3IgaW4gaHR0cC5TZXJ2ZXIn cyB1cGdyYWRlSGVhZAo2N2ZiMGVjZTZiMzMxMjg0YmRlYTFmNzVmNTk1N2Y0N2JlZGNhNTcyKiNS eWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcyNzUwMzE0KiNGaXggZGVwcmVjYXRpb24g bWVzc2FnZQpkNjExMGZiZDExNWU2ZTZhOTc4YjgwN2U5N2YwMDc5MWY0ZDJlODBmKiNNaWNoZWls IFNtaXRoKiNtaWNoZWlsQGJyYW5kZWRjb2RlLmNvbSojMTI3MjYzNDU1MSojTWFraW5nIHJlcXVl c3RMaXN0ZW5lciBmb3IgdGhlIGNvbnN0cnVjdGlvbiBvZiBhIGh0dHAuU2VydmVyIG9wdGlvbmFs LCBhcyBpdCBpcyBmb3IgbmV0LlNlcnZlcgpmOTkwZjI0YWQzNmRkYWZmM2MzNzg1MzFkMTVlYTVj MDUyNDY3ZDQxKiNNaWNoZWlsIFNtaXRoKiNtaWNoZWlsQGJyYW5kZWRjb2RlLmNvbSojMTI3MjYz NDM5MSojSW1wbGVtZW50aW5nIHRoZSBldmVudCBlbWl0IGZvciBVcGdyYWRlIHJlcXVlc3RzLCB3 aXRoIHRlc3RzLgo2OTJmNTgwYTA3YzI3ODdlZDVkYjczMGI1ZWFlOGU5ZTFkYTQzZjEyKiNSeWFu IERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcyNjc3Nzk2KiNJbXBsZW1lbnQgZnMucmVhZCgp IGZvciBidWZmZXJzCjhkMWYxMTg2Y2FmMjI3ZWRjZDMzZGM2MDI5NWIyZmY1MDE4OWRhY2MqI2ty aXNrb3dhbCoja3Jpcy5rb3dhbEBjaXhhci5jb20qIzEyNzI2NzM4MTQqI0ZpeGVkL0NvbXBsZXRl ZCBidWZmZXIgY29weSByYW5nZSBjaGVja3MuCjIwMzcyZDJkZjM2MDNmNzJiYzU1N2E5OTMxYjU4 MzYzZWY2Yjg0YjUqI1J5YW4gRGFobCojcnlAdGlueWNsb3Vkcy5vcmcqIzEyNzI2NjY5NTEqI0Zp eCBkb2NzIGluIG5vZGVfZmlsZS5jYwoyODVjNWVkMzZmZTYwNzMxYTI0NGZlMGRlMTJlNzZjOTE3 NTNjYjM0KiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcyNjQ4ODM2KiNGaXggc29t ZSBzdHlsaW5nIGluIHRoZSBkb2NzCjViMjgwMWUzZWE1MDFhZmY5NzI3YTIyY2E5N2MxMTQxNjAz MDgyYzEqI1J5YW4gRGFobCojcnlAdGlueWNsb3Vkcy5vcmcqIzEyNzI2NDg2ODEqI0FkZCBodHRw IHNlcnZlciAncmVxdWVzdCcgZXZlbnQgdG8gZG9jcwozYjMyMzAyN2JlODZhYTEzYmRkNDk3YWFj N2IxMmE4YzYwYjJiNjVjKiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcyNjQ4NDk4 KiNodHRwIHNlcnZlciBlbWl0cyAnY2xpZW50RXJyb3InCjU1N2JhNmJkOTdiYWQzYWZlMGY5YmQz YWMwN2VmYWMwYTM5OTc4YzEqI1J5YW4gRGFobCojcnlAdGlueWNsb3Vkcy5vcmcqIzEyNzI1NjI4 OTkqI2J1bXAgdmVyc2lvbgozMDFiNDRkNDVkYTk0YjJmNWFiMTc1NzY5ZmU2NTUyNzBhNGNjYTky KiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcyNTY3NDcyKiNDaHVuayBzdHJpbmdz IHRvZ2V0aGVyIG9uIFN0cmVhbSBidWZmZXIKYzc1ZTRjYjQ4YWU2YzBiNjE4YzczZmRhNWY3MmMy NzA4Y2ExZjM0MSojUnlhbiBEYWhsKiNyeUB0aW55Y2xvdWRzLm9yZyojMTI3MjU2MTA2NiojZml4 IHR5cG9zCmY5MTkyMTY0NDZhZmU5MTM2ZDkzNjc5MDBmYTljNzg3OGE2ZDlmZWEqI1J5YW4gRGFo bCojcnlAdGlueWNsb3Vkcy5vcmcqIzEyNzI1MjI1MzIqI1VwZ3JhZGUgaHR0cC1wYXJzZXIsIGZp eGVzIGlzc3VlIDc3CmE2M2NlNWNkNzI5YzFhZWY2Mzc3NGYyMWI5ODMzMzBiMDg5OTYzYmEqI1Ro b21hcyBMZWUqI3RvbUB0b20tZGViaWFuLnNlbnNpcy5jb20uYXUqIzEyNzI0MzYyODgqI0FsbG93 IGNhbGxlcnMgdG8gZGlzYWJsZSBQSFAvUmFpbHMgc3R5bGUgcGFyYW1ldGVyIG11bmdlaW5nIGlu IHF1ZXJ5c3RyaW5nLnN0cmluZ2lmeQowMzlkMTNiMGMzNTI3NjYyMjVjMjdjYjZkZjBkN2RmMDVh YWM1YzM2KiNIZXJiZXJ0IFZvasSNw61rKiNoZXJieUBtYWlsYm94LnNrKiMxMjcyNDk2MDMzKiNE UlkgYmluZGluZygnc3RkaW8nKQo2ZDg1ODAyMTAwY2JjNzA2NzExYTBiMjQ4MmVmYTJkNzA4ZWZl NDYzKiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcyNDkzNzAxKiNiYXNpY1JlcXVl c3QgLT4gbW9kdWxlLnJlcXVpcmVOYXRpdmUKM2JiMjFiNTE5MTgyNDFlZWJiZmYyZTY0YjA1YjVl MTI2ZjVjNGVjYiojUnlhbiBEYWhsKiNyeUB0aW55Y2xvdWRzLm9yZyojMTI3MjQ5MjQzNSojRml4 IHNpZ25vX3N0cmluZyBmb3IgbGludXggYW5kIHNvbGFyaXMKN2E3Mjg4NWVkZWIwMDJmYzk4MmI1 MTI1ZjRjNjRkZjJkYmQwNDMwZCojSGVyYmVydCBWb2rEjcOtayojaGVyYnlAbWFpbGJveC5zayoj MTI3MjQ4Nzg3NiojcHJvY2Vzcy5ldmFsY3ggaGFzIGEgZGVwcmVjYXRpb24gbWVzc2FnZS4KN2U0 YzEyODVkYzhmY2RjZDViYWQ1YTlkZjRjMmNlNmE0ZmQ4MTQ4MyojSGVyYmVydCBWb2rEjcOtayoj aGVyYnlAbWFpbGJveC5zayojMTI3MjQ4NzAyOSojTWlub3Igc3R5bGlzdGljIGNoYW5nZXMuCjVk OTc1M2ZjY2YyNzFmNzVhYjRkYWMyNDZmMjRjM2YwNWJmNDE2MWMqI0hlcmJlcnQgVm9qxI3DrWsq I2hlcmJ5QG1haWxib3guc2sqIzEyNzI0ODk3MTgqI0ZpeCBjaGlsZF9wcm9jZXNzLmNjIGJ1aWxk IGZhaWx1cmUgZm9yIEZyZWVCU0QuCmY4YTNjZjk4MGYwOWI0OGNlMWM1NmYxMWRjNDdlMjA0MDkz YWM4YjIqI0ZlbGl4IEdlaXNlbmTDtnJmZXIqI2ZlbGl4QGRlYnVnZ2FibGUuY29tKiMxMjcyNDU5 ODQ4KiNQcm9wZXJseSBoYW5kbGUgY2hpbGQgcHJvY2VzcyBleGl0IGNvZGVzCjliMmFhYzYxYjI4 MDU2NDE4ZWUzYThmZGIyYzcyMjZhY2M2NWQzN2MqI1J5YW4gRGFobCojcnlAdGlueWNsb3Vkcy5v cmcqIzEyNzI0ODQ2ODAqI1Jlc29sdmUgRVdPVUxEQkxPQ0sgdG8gc3RyaW5nIGlmIGRpZmZlcmVu dCB0aGF0biBFQUdBSU4KM2I3NWY1MDcwZDQ5MTcxMmVlYWVlZmU1ZjEyMDE5ZTM0ZTZiMjI1MCoj UnlhbiBEYWhsKiNyeUB0aW55Y2xvdWRzLm9yZyojMTI3MjQ3Njc4NiojVXBncmFkZSBWOCB0byAy LjIuNgo4Zjc5MTY5YWVmNmNkNDQ3ZmYxOTM2MTZlNDkzMzU0NzNlZWIxNWJhKiNUaW0gQ2Fzd2Vs bCojdGltQGNyZWF0aW9uaXguY29tKiMxMjcyNDU3OTIwKiNSZW1vdmUgbm9kZS4qIGRlcHJlY2F0 aW9uIG1lc3NhZ2VzLgplN2ExZmExMjkzNzIzOTg2MzFjOWYwNWQ4NTM4OWQ2YmVlYmM1MThiKiNS eWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcyNDE5NTAxKiNmcy5GaWxlV3JpdGVTdHJl YW0gLT4gZnMuV3JpdGVTdHJlYW0sIGZzLkZpbGVSZWFkU3RyZWFtIC0+IGZzLlJlYWRTdHJlYW0K NWFlYTEyYjRjNGUxNGI3YWRkMTc5YTk5NDM0ODdhM2Y3NjZjY2FmOCojUnlhbiBEYWhsKiNyeUB0 aW55Y2xvdWRzLm9yZyojMTI3MjQxOTExMCojc3Rkb3V0IHNob3VsZCBiZSB3cml0YWJsZSBvbmx5 CjIwMzU2MTIwOGUwMmYzMDcyYzU0MGVkMDA3NTE4ZTZlNDI3MzJiY2EqI0ZlbGl4IEdlaXNlbmTD tnJmZXIqI2ZlbGl4QGRlYnVnZ2FibGUuY29tKiMxMjcxNzUzMjE0KiNSZW1vdmUgY291cGxpbmcg ZGVwCmMxNDNjYmE1OTBjYmZkNThmM2NjMjYzOTRjZTk1YTdkMjVlYjBiMDAqI0ZlbGl4IEdlaXNl bmTDtnJmZXIqI2ZlbGl4QGRlYnVnZ2FibGUuY29tKiMxMjcyNDEwMjQ4KiNHZXQgcmlkIG9mIGNv dXBsaW5nIGZvciBzdGRpbgpmMjIxMmZhNTlkNTQ2ZDMxYTgzZTg3MGVkNTQ2YzczOGIwODAwNzJh KiNGZWxpeCBHZWlzZW5kw7ZyZmVyKiNmZWxpeEBkZWJ1Z2dhYmxlLmNvbSojMTI3MjQxMDE2NSoj U3VwcG9ydCBmb3IgRmlsZVJlYWRTdHJlYW0uc2V0RW5jb2RpbmcKNzZmOThjMjdkZTQ1NjRmY2Vm ZWU4Mzg3OGY1MjVhOWE2Njk0MGEwZSojRmVsaXggR2Vpc2VuZMO2cmZlciojZmVsaXhAZGVidWdn YWJsZS5jb20qIzEyNzE3MTU3NzkqI0dldCByaWQgb2YgY291cGxpbmcgZm9yIHN0ZG91dApmNjE4 NTUxNjk0MWM0ODZjNWFiYzhjODU2MTg1NDk1MDcwYTczNGQ5KiNSeWFuIERhaGwqI3J5QHRpbnlj bG91ZHMub3JnKiMxMjcyNDE0MjcyKiNSZW1vdmUgY2FsbGJhY2sgYXJndW1lbnQgdG8gRmlsZVdy aXRlU3RyZWFtLnByb3RvdHlwZS53cml0ZQpkMWIzNTJlNGIzMjllODg5MjcwZDBjOGVlNDRhOGNi OWVhNzVjYTQ2KiNNYXR0IFJhbm5leSojbWpyQHJhbm5leS5jb20qIzEyNzIzNTQ1OTgqI1Nob3J0 ZW4gc29tZSBsb25nIGxpbmVzLgoyNDkzMWY4NDA1NDRjOTk3MDIwMzY2MDEyMWExZWM0NjA2YmRk NGYxKiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcyMzUzNTA3KiNVcGdyYWRlIFY4 IHRvIDIuMi41CjIzNzRlNTU3ZTMwZmFiNWMzNTdkM2YwMzcxNmNhM2I4MzEzMWMzYzAqI01hdHQg UmFubmV5KiNtanJAcmFubmV5LmNvbSojMTI3MjM1MTg3MiojTW9yZSBCdWZmZXIgZGVzY3JpcHRp b25zIGFuZCBleGFtcGxlcy4gVXBkYXRlZCBTY3JpcHQgZXhhbXBsZXMgZm9yIE5ldyBTY3JpcHQg bWV0aG9kcy4KZTIzNWFhZTAxODFkN2IzYjQ3OTUxZDMzNjE2ZjViMDA3MDc1YWNmNSojUnlhbiBE YWhsKiNyeUB0aW55Y2xvdWRzLm9yZyojMTI3MjMzODgwMyojRml4IGJ1ZyBpbiBzb2NrZXQgd3Jp dGUgb3B0aW1pemF0aW9uCmM3YjNjMWVjYmM3YzQyNWViMWUwMDE0MTY2ZGNjMDUxODA1ZjhjZmYq I1J5YW4gRGFobCojcnlAdGlueWNsb3Vkcy5vcmcqIzEyNzIzMzg3OTYqI0FkZCBtb3JlIGFzc2Vy dHMgdG8gdGVzdC1odHRwLWJpZy1wcm94eS1yZXNwb25zZXMKYzYyNDhlZmQ3M2I1N2U5ZTBjZDQz ODdmNGQzMGMyN2RkZmQyY2EzYiojUnlhbiBEYWhsKiNyeUB0aW55Y2xvdWRzLm9yZyojMTI3MjMz MzIxMCojQ29tcGlsZSBmb3IgYmV0YSB2ZXJzaW9ucyBvZiBPcGVuU1NMIDEuMC4wCjA4MDIzMjZm YzlhMDc5ODdjNGFmNzdiN2IzZWM1YWZhOTA4YWM1MDgqI0rDqXLDqW15IExhbCoja2Fwb3VlckBt ZWxpeC5vcmcqIzEyNzIzMTY5OTcqI3Rlc3QtZG5zIHNvIHRoYXQgTlhET01BSU4gZG9lcyBub3Qg cmlzZSBlcnJvcnMKNWNhZjUzYTA1MzljMmY0YTEyYmUwOWYyMmY5OTkzMWYzY2M4NzAwOCojSsOp csOpbXkgTGFsKiNrYXBvdWVyQG1lbGl4Lm9yZyojMTI3MjMxMzU3NiojQWRkIHN1cHBvcnQgZm9y IE1YIHF1ZXJpZXMgaW4gZG5zIG1vZHVsZSwgd29ya3Mgd2l0aCBjLWFyZXMgdXBzdHJlYW0gcGF0 Y2guCjE0ZDFhYjVhM2UzMjAwNjU3NWQzMjFjZDgxYzlmMmQzNmQ1OGE1YWUqI0rDqXLDqW15IExh bCoja2Fwb3VlckBtZWxpeC5vcmcqIzEyNzIzMTc2NDMqI0FwcGx5IHVucmVsZWFzZWQgdXBzdHJl YW0gcGF0Y2ggdG8gc3VwcG9ydCBwYXJzZV9teF9yZXBseS4KZGYwN2E3MTNiZGE0MjMwZThkZDM4 YTJiMzRlZjE4MjQzZDEwMzMwMiojSm9uYXMgUGZlbm5pZ2VyKiNqb25hc0BwZmVubmlnZXIubmFt ZSojMTI3MjE0MDgzMSojTmV3IHRlc3QtY2FzZTogc2lnbmFsIHVucmVnaXN0cmF0aW9uCmNlZTkw ODAzODEwOGU3YWEwYjcwMDMyYTc4NGVjYmQ2MDNjZWZmNDYqI1J5YW4gRGFobCojcnlAdGlueWNs b3Vkcy5vcmcqIzEyNzIyNTk3OTUqI0ZpeCB0eXBvcwo2MTBmYWY3MTNkOWQ0ZDUxOTllN2UyZDdk NzM1MzgxODQ2MDJjOWYyKiNKw6lyw6lteSBMYWwqI2thcG91ZXJAbWVsaXgub3JnKiMxMjcyMDk0 NjY2KiNEcm9wIFVETlMgZnJvbSBub2RlLnVzZWxpYi4gQWRkIENBUkVTIGZvciAtLXN5c3RlbS4K OTkyNmRhY2QxNGMzOTI3NjI5OTcxMmNlZDRhODNmYjA0M2YyNzE2MiojUnlhbiBEYWhsKiNyeUB0 aW55Y2xvdWRzLm9yZyojMTI3MjA2ODk3NiojUmVtb3ZlIGdldGFkZHJpbmZvIGZyb20gbmV0Mi5j YwozZDZlYmJkMjk2YTlhM2E1ZjU2MjAzYjEwOTliZGE1MWRhMjFhZTY5KiNSeWFuIERhaGwqI3J5 QHRpbnljbG91ZHMub3JnKiMxMjcyMDY4Njc3KiNEb24ndCBsb29rIGZvciBHbnVUTFMgaW4gd3Nj cmlwdApjNzI5NjdkMzM1MWM0YTI4YzNmMjQzNDc0ODU5ODAxN2FhMDEyNmQ1KiNSeWFuIERhaGwq I3J5QHRpbnljbG91ZHMub3JnKiMxMjcyMDY3ODAxKiNSZW1vdmUgaHR0cF9vbGQgdGNwX29sZApj YWE4MjhhMjQyZjM5YjYxNTgwODRlZjQzNzYzNTUxNjFjMTRmZTM0KiNSeWFuIERhaGwqI3J5QHRp bnljbG91ZHMub3JnKiMxMjcyMDYzOTE5KiNidW1wIHZlcnNpb24KYmI0YWUxNzY5YmU4NmViOWEw NGY2NmJlZjhmMGM2ZjlmZWFhZTZlYSojUnlhbiBEYWhsKiNyeUB0aW55Y2xvdWRzLm9yZyojMTI3 MjA2NDcyMCojTGluayB0byBvbGQgdmVyc2lvbnMKYjI5OWI0YjdhMTU5OTA4M2M4OWMxMzExNzEw Y2I2OGVmZDcxZTdiYSojbWFwZSojbWFwZUBtYXBlLm1lKiMxMjcyMDYyNzkxKiNVcGRhdGUgQVBJ IGRvYwoxNmYwMjQwM2Y4ZjkyYTU4YmEwOWNmYWQ3NmNhNDY4YjA3ZTQ3MDUzKiNSeWFuIERhaGwq I3J5QHRpbnljbG91ZHMub3JnKiMxMjcyMDU2ODkzKiNDYXRjaCBlcnJvcnMgZnJvbSBzdHJlYW0g ZXZlbnRzIGluIG5ldC5qcwplNzJiN2I4MDAyYzQ4N2QzMmYzYTY1MTY4N2FjY2ExM2YyMDA5Yjk5 KiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcyMDQ5NTM2KiNVcGdyYWRlIFY4IHRv IDIuMi40LjIKN2EzNGFmYmE3NzNhMDljNzg2Mjc1OTg3MjkwNTY1N2VjOTYyOTM1MSojS3Jpc2hu YSBSYWplbmRyYW4qI2tyaXNobmFAZW1wdHlib3gub3JnKiMxMjcyMDQzNzY3KiNvcGVuc3NsIDEu MC4wIGNvbnN0aWZpY2F0aW9uCjQwODIwZWM4ZDUzZTg5YWY5ZWZhMGI1Y2FlZjUyYjdmNDJhZDUx ODYqI0JyaWFuIEhhbW1vbmQqI2JyaWFuQGZpY3RvcmlhbC5jb20qIzEyNzIwMzY3MTAqI0xlYXZl IHBvcyBhcyB1bmRlZmluZWQgdG8gYWxsb3cgcmVhZHMgZnJvbSB1bnNlZWthYmxlIGZpbGVzIGxp a2UgL3Byb2MveC9zbWFwcyBvbiBMaW51eApjOWUyN2IxMWM1Yjk5NWI3ZmY5ZDNjMWRkZTQ2ODdj Y2Q1NGYwMDcxKiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcxOTg0MDI1KiNVbmlm eSBFcnJub0V4Y2VwdGlvbiBjcmVhdGlvbgowNjMzZTVjYWM5ODFjZjY0MzNiYWVlYTU4MWIzNDQ2 MWUzZjgyZGMyKiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcxOTgyNjk1KiNPcHRp bWl6ZSBmb3IgZmV3IGFyZ3MgaW4gRXZlbnRFbWl0dGVyLmVtaXQKNmFiZGYwNTFkM2Q5MWQwNWYy NjJkMmRmZTk4ZTFjNzY4ZmYwYjU0MyojUnlhbiBEYWhsKiNyeUB0aW55Y2xvdWRzLm9yZyojMTI3 MTk4MjEyMyojVW5oYW5kbGVkICdlcnJvcicgZXZlbnRzIGtpbGwgcHJvZ3JhbQoxMWY2NzNlODE5 ZDc5ZjA3ZGJiNDJiNzVhNWIwNzBhZjY2ZmNiNGE1KiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMu b3JnKiMxMjcxOTc2NTM3KiNjdXJsIGFmdGVyIHNlcnZlciBpcyBsaXN0ZW5pbmcKNzZkNTI1YjAz NDY3YWMzNDJlODNiMzc4MWU3ZWZjZWU0NzczOTMyMCojUnlhbiBEYWhsKiNyeUB0aW55Y2xvdWRz Lm9yZyojMTI3MTk3MjYwNSojUmVtb3ZlIGFzc2VydCBmb3Igbm8tc3VjaC1tb2R1bGUKZDcwNDc0 ZGMxMDI2MzlhMzU1NDQ1YWY4MjFmYTJiZDU4MmFjZDcwMyojUnlhbiBEYWhsKiNyeUB0aW55Y2xv dWRzLm9yZyojMTI3MTk3MTUxMyojU0lHUElQRSBvbiBzdGRvdXQgc2hvdWxkIGtpbGwgdGhlIHBy b2Nlc3MgYnkgZGVmYXVsdAozOTM0Y2I1NDg1M2NhMjNjZWU3ZWYzYzYyMDZhNWIxMjY0ZjhiYTZk KiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcxODg4MTIxKiNGb3JjZSBubyBib2R5 IG9uIGh0dHAgMjA0IGFuZCAzMDQKOTRmOWRjNjdjMGFiM2EyNTA5YWVhZGQ2Mjg4M2NiMTExNDdi NDVjZCojUnlhbiBEYWhsKiNyeUB0aW55Y2xvdWRzLm9yZyojMTI3MTg4MTAwNiojQWRkIGxpbmsg dG8gb2xkZXIgdGFyYmFsbCB2ZXJzaW9ucwpjZmQ0NTlhYmRlNzA2MGExNzg1ZGNjODBkNGVhYjg3 Mjc2YzY0ZjUxKiNpc2FhY3MqI2lAaXpzLm1lKiMxMjcxODEyOTcxKiNNb3ZlIHRoZSBtb2R1bGUg bG9hZGluZyBmcmFtZXdvcmsgaW50byBsaWIvbW9kdWxlLmpzLiAgTWluaW1hbCBjaGFuZ2VzIG90 aGVyd2lzZS4KZTAwNjFhNTExZDZlOWI0YWMzZWEwMDQ5YzgzNmU2ODI3OGVhZmY0MiojaXNhYWNz KiNpQGl6cy5tZSojMTI3MTgxMjY3NCojcmVmYWN0b3IgcGF0aCBtb2R1bGUgdG8gbGliL3BhdGgu anMKN2ZmNTNmNGM2YWE1YmJhYjhiNjIzZTRhZWRlY2VhMDUxMWNiNmRhOSojaXNhYWNzKiNpQGl6 cy5tZSojMTI3MTgxMjM4NyojUmVmYWN0b3IgZXZlbnRzIG1vZHVsZSB0byBsaWIvZXZlbnRzLmpz CjRiYWRiMjI3Y2YxMDEyMGJkNmFiOWI0MzIzODFlYzcwMmNjYjRkNWUqI0hlcmJlcnQgVm9qxI3D rWsqI2hlcmJ5QG1haWxib3guc2sqIzEyNzE4NDcyOTYqI0ZpeCBUQ1BfS0VFUElETEUgYnVpbGQg ZmFpbHVyZSBpbiBGcmVlQlNELgo1ZjhmNTYxZDYxMGQ0ZDMwODE5OWNkODIwMjAyOWM4OWJkOWU0 NDUyKiNKdWxpYW4gTGFtYiojdGhlcHVybGlldUBnbWFpbC5jb20qIzEyNzE4MDQ1MDEqI2FkZCBz ZXRLZWVwQWxpdmUgZnVuY3Rpb24sIHdoaWNoIGVuYWJsZXMgYW5kIHNldHMgdGhlIFRDUCBrZWVw LWFsaXZlIHRpbWVyCjI3ZWMzM2FhZDczMDQ2YjAxZmUyMzUyNWU0ZDU5Njc3MWQyOTQ1YmUqI1J5 YW4gRGFobCojcnlAdGlueWNsb3Vkcy5vcmcqIzEyNzE3OTk3ODgqI0FkZCBzb21lIGxpYnBhdGhz IGZvciBTU0wKYWM5ZDlmNGU5ZjA1MTQyZjA4NzdiY2M4OTI3OTM2OWYzNjM3OGE5ZCojTWljaGFl bGpvaG4gQ2xlbWVudCojaW5pbWlub0BpbmltaW5vLm9yZyojMTI3MTc4MzI3NSojYmV0dGVyIGZ1 bmN0aW9uIHRlc3QgaW4gYWRkRXZlbnRMaXN0ZW5lcgo2MTMwOGE1YmZmMGZlMTg0NzQ0ZjVmNmU5 MDMxOTkxODI2Yjc0Nzk2KiNUaW0gQ2Fzd2VsbCojdGltQGNyZWF0aW9uaXguY29tKiMxMjcxNjgz MDk2KiNBZGQgYSBub3RlIGluIHRoZSBBUEkgZG9jcyBhYm91dCBiaW5kaW5nIHRvIHBvcnRzIGFu ZCB1c2luZyBzdHJpbmdzLgo2MGRlODYzNTFhYzkyNjQ4NDViYzQwMzNlYjdlNDRiOWIwYzc0YzZk KiNUaW0gQ2Fzd2VsbCojdGltQGNyZWF0aW9uaXguY29tKiMxMjcxNjgzMDU3KiNBZGQgQnVmZmVy LmJ5dGVMZW5ndGggZG9jcwpmZjY0MDk0NjlkM2NlNGUxY2EyOGVkZGY2YzY0OTBmYWIzNGNkNjA0 KiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcxNzE3MjkyKiNNYWtlICdtYWtlIGRp c3RjbGVhbicgd29yayBvbiBzb2xhcmlzCjZlNzE1YjgyZDBlODc3NTZmYWU3NWNmNDYzYWE3Y2Ix OWMwZWRhNGIqI1J5YW4gRGFobCojcnlAdGlueWNsb3Vkcy5vcmcqIzEyNzE2MzUwMzMqI1VwZ3Jh ZGUgV2FmIHRvIDEuNS4xNgpmYTUxNGE5ZjE2NzA3NDFiM2I1NGVmMjdmMmVhMTI1M2RmZDA5MWQ2 KiNTdGFuZGEgT3BpY2hhbCojb3BpY2hhbHNAZ21haWwuY29tKiMxMjcxNjA3ODQ4KiNEbyBhIG1h bnVhbCBjaGVjayBmb3Igb3BlbnNzbCBpZiAncGtnLWNvbmZpZyBvcGVuc3NsJyBmYWlscy4KOGRh YTFmOGQwNGJjYTg0NjRhMzE5MmNhZDIwMjk4MDUwOTA5NjUwMyojSGVyYmVydCBWb2rEjcOtayoj aGVyYnlAbWFpbGJveC5zayojMTI3MTYyMjk0NCojRG9jcyBmb3IgU2NyaXB0IGNsYXNzIG9mICdl dmFscycgYmluZGluZy4KNGZmNDVjMjY0YzU1ZWI0M2E3NDZiOGE0YWY3ZjgzM2Q0OWRkZGEzZCoj UnlhbiBEYWhsKiNyeUB0aW55Y2xvdWRzLm9yZyojMTI3MTYxOTg2MyojUmVtb3ZlIG9sZCBFdmFs Q1gKYzJhMDY3MjVkNmViYzBiMjNiZmIyMGE4Y2U0NzhiMWViZjA0MmM0ZSojSGVyYmVydCBWb2pj aWsqI2hlcmJ5QG1haWxib3guc2sqIzEyNzE1MTc0OTUqI1NjcmlwdCBjbGFzcyB3aXRoIGV2YWwt ZnVuY3Rpb24tZmFtaWx5IGluIGJpbmRpbmcoJ2V2YWxzJykgcGx1cyB0ZXN0cy4KMzk0NjRiNDk4 ZmNkODA1ZDRlMmQ1Njg2MTcwMmFlNDM4MGY3ZGM3MSojTWF0dCBSYW5uZXkqI21qckByYW5uZXku Y29tKiMxMjcxMzc5MTYyKiNBZGQgZG9jcyBmb3IgbmV3IFJFUEwgb3B0aW9ucyBhbmQgZmlsbCBv dXQgZGVzY3JpcHRpb24gb2YgY29tbWFuZHMuCjM1MTA2NjlkYjIzZDA2MDBkMmEzMWY2NjgzOGNj MjhkMjcwZTZlZTkqI1JoeXMgSm9uZXMqI3JoeXNAd2F2ZS50byojMTI3MTM1ODIzNSojRml4ZWQg c3NsIGNsaWVudCBhbmQgc2VydmVyIGV4YW1wbGVzCjhlZmFiODU3ZDBhODdiOGEyY2IwMGFmYWFh YzIyMzlkOGMyMzA0MWIqI1JoeXMgSm9uZXMqI3JoeXNAd2F2ZS50byojMTI3MTM1Nzg1NSojTWVy Z2UgYnJhbmNoICdtYXN0ZXInIGludG8gb3BlbnNzbAplNGE2YjcyYWUzNTRiZGZlZTZkYTMwZWVi MTcxYzg1ZWJmNTA3N2EzKiNSaHlzIEpvbmVzKiNyaHlzQHdhdmUudG8qIzEyNzEzNTc4MzcqI0Fk ZGVkIHRlc3QgYW5kIHN0YXJ0ZWQgdGlkeS11cCBvZiBub2RlX2NyeXB0by5jYwo2YWQxOGEyN2Ew YmY5YThmMGM2ZDYxOGMwMDExZjIyNjQyMzlhZjA0KiNNaWNoZWlsIFNtaXRoKiNtaWNoZWlsQGJy YW5kZWRjb2RlLmNvbSojMTI3MTM1NTU5NCojRml4IHVwZ3JhZGVIZWFkIGJvdW5kcy4KZTZhMTA5 MWNjNjA4ODJjN2NkZWZhZThkYTE2NDMwNGE1ODM5ODU4ZSojUmh5cyBKb25lcyojcmh5c0B3YXZl LnRvKiMxMjcxMzI1NDAyKiNNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byBvcGVuc3NsCjMxMWQ3 ZGVlMTkwMzRmZjFjNmJjOTA5OGMzNjk3M2I4ZDY4N2VhYmEqI1J5YW4gRGFobCojcnlAdGlueWNs b3Vkcy5vcmcqIzEyNzEzMjE2NjAqI2J1bXAgdmVyc2lvbgoyYWQ1ODdjYzM1NGUyNjk0YmM0N2Jl MDFlY2E5YjE1YjZkYjQ2Mzc3KiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcxMzIy NTc2KiNEZWZhdWx0IHRvIFVURjggb24gc3RyZWFtIHdyaXRlCjUyODFmMjkwMTI0OWRlMTczNzA0 MjM0MjM4YTRjYjg3MmI0ZmI4ODQqI1J5YW4gRGFobCojcnlAdGlueWNsb3Vkcy5vcmcqIzEyNzEz MjIxMDkqI1VzZSBuZXcgbWV0aG9kIG9mIGdldHRpbmcgY2hhcnMgd3JpdHRlbiBmb3IgVVRGOApk MmUxYjA4NTVmMzYzMGVmMmJlNDViNDc3ZTkzZDhiYzg2NWNjN2I3KiNSeWFuIERhaGwqI3J5QHRp bnljbG91ZHMub3JnKiMxMjcxMzIwNjQ3KiNNb3ZlIHR3byBicm9rZW4gdGVzdHMgdG8gZGlzYWJs ZWQgZm9sZGVyCmFjM2JjMmVkNDFjMThjZmQ0NTc3MmVjODk1YWZlOThhOTI5YWI3OGMqI1J5YW4g RGFobCojcnlAdGlueWNsb3Vkcy5vcmcqIzEyNzEzMjAxNzkqI1NpbXBsaWZ5IEdDIGlkbGUgbm90 aWZpY2F0aW9uCmQyN2Q2ZGNjNmZjYmVkMGU0NzNlZTI1MWM3ZTRhZDI3YzViZjA2MjAqI1JoeXMg Sm9uZXMqI3JoeXNAd2F2ZS50byojMTI3MTMwODg3NSojTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGlu dG8gb3BlbnNzbApmYmFkNWRjMDYyMTZhYjZjZGZkOTFhMDNmODkzYjY2NzEyODlhMmE0KiNSaHlz IEpvbmVzKiNyaHlzQHdhdmUudG8qIzEyNzEzMDg2NDIqI1VwZGF0ZWQgaHR0cHMgc3VwcG9ydAo0 ZWZlMjdiYmFiYzFlNmM2OTgyMzAzYzg4NjJmMzE0ZDZiOTQzZGM0KiNSeWFuIERhaGwqI3J5QHRp bnljbG91ZHMub3JnKiMxMjcxMjk2MjQxKiNBZGQgZXhlY0ZpbGUoKSBmb3IgT3JsYW5kbwo5Y2Yy YTAyZDhiYTQ5MjQ0Nzc5MjU3OTY5ZDAzMDdjOTZiMmQ3NzdiKiNSeWFuIERhaGwqI3J5QHRpbnlj bG91ZHMub3JnKiMxMjcxMjcxNTY0KiNBZGQgdGltZW91dCBhbmQgbWF4QnVmZmVyIG9wdGlvbnMg dG8gY2hpbGRfcHJvY2Vzcy5leGVjCjQxZWYxNzE3ZTA5NmE5ZTE3NjFlZmEwZGY5N2MzOTVmNTlj NTFmMTYqI1J5YW4gRGFobCojcnlAdGlueWNsb3Vkcy5vcmcqIzEyNzEyNjY0NTcqI1VwZ3JhZGUg VjggdG8gMi4yLjMuMQo3NjBiYmE1NTE4NmViYTAzOWNhMDBlNTMyZjc4MTNkMmFlYTQ1MGEyKiNS eWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcxMjQyMzM1KiNTdXBwb3J0IFVwZ3JhZGUg aW4gSFRUUCBtZXNzYWdlcwphZjQ5MTg3ZTU3MTA1YTc5M2VmNGFiZjMzMzM5ZDg1NGYyYjVjZGEy KiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcxMjQwNTU4KiNVcGdyYWRlIGh0dHAt cGFyc2VyCjY4NDc0MGMyMzIwMGJlNjczNjhmYjFiMjI1MTQwZTA2YzFmZWMyOTUqI1J5YW4gRGFo bCojcnlAdGlueWNsb3Vkcy5vcmcqIzEyNzEyMzA5MTYqI25ldC5qczogU2xpY2UgdGhlIHJpZ2h0 IGJ1ZmZlciBpbiBfd3JpdGVPdXQKYjhjMDM0OTc1MGEwOWIxMDI0NWQ2MzM4MjZlNzVjMGM1ZDEz NTAzOSojUnlhbiBEYWhsKiNyeUB0aW55Y2xvdWRzLm9yZyojMTI3MTIzMDU5NCojRml4IHRyaXBs ZSBidWZmZXIgc2xpY2UgYnVnCjE0NDIwMDQzNWY3MjcwMjcwODJkYTczODNkNWY0OTkzMmFhMGMz ZGMqI1JoeXMgSm9uZXMqI3JoeXNAd2F2ZS50byojMTI3MTIyNjY5MyojTWVyZ2UgYnJhbmNoICdt YXN0ZXInIGludG8gb3BlbnNzbAphOTM0NTY2ZWI5YjFjZjdlZTllNmJiNjY5ZTczZTQ2MzAwYWEx MTI5KiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcxMjAzMDM2KiNEaXNhYmxlIHRl c3QtaWRsZS13YXRjaGVyCmI1NDliM2ZjY2U5YWFmZjg5MzY2NzA0MjA1MDliZmYyNWQyZWQ0OWUq I1J5YW4gRGFobCojcnlAdGlueWNsb3Vkcy5vcmcqIzEyNzEyMDIxOTUqI0ZpeCB0ZXN0IGNhc2Ug c3R5bGUKNjczMmU3ZmExNzk0ZDQ5MDc4YWMzNGZkMDU0MWRmYTc3YzFkZjM2ZCojUnlhbiBEYWhs KiNyeUB0aW55Y2xvdWRzLm9yZyojMTI3MTIwMDkzMiojQWRkIGJpZyBwcm94eSBmYWlsaW5nIHRl c3QKNzFkYzIzMmY5M2EzOTRkYWY5YTM3MmY2ZWYxNGMxNDU4ZjM4ZjUzNCojUnlhbiBEYWhsKiNy eUB0aW55Y2xvdWRzLm9yZyojMTI3MTE5OTM2NiojVXNlID09PSBpbnN0ZWFkIG9mID09IGZvciBF TkRfT0ZfRklMRSBjb21wYXJlcwphOThkMjNkOTA1OGNkZjcxYTQ1MmU3MWJmODgzMWU0YmEyNDQ1 YjUwKiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcxMTk4NjAyKiNEaXNhYmxlIElk bGVXYXRjaGVyCjRlN2UyZjg3MjQyMWU5Yzg5NTM4ODA3Y2UxOTFjZDg2ZTQwMzQxYWIqI1J5YW4g RGFobCojcnlAdGlueWNsb3Vkcy5vcmcqIzEyNzExOTgzNTUqI0NoYW5nZSBuZXh0VGljayBpbXBs ZW1lbnRhdGlvbiBmb3IgdGhlIGJldHRlcgo1N2VkZmYxZjMxOTAzZGJkOTAwOGZlOGZlMzIzMDRl ZGUyMWVkYTAwKiNSeWFuIERhaGwqI3J5QHRpbnljbG91ZHMub3JnKiMxMjcxMTkxODE3KiNSZW1v dmUgbWl4aW4gZnJvbSBkb2Nz