From kde-kimageshop Mon Jul 19 05:40:47 2021 From: L. E. Segovia Date: Mon, 19 Jul 2021 05:40:47 +0000 To: kde-kimageshop Subject: =?utf-8?q?=5Bgraphics/krita=5D_/=3A_WebP=3A_add_libwebp_based_file_format_plugin?= Message-Id: <20210719054047.3AAA61242F5B () leptone ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-kimageshop&m=162667325524532 R2l0IGNvbW1pdCAwZDgxMWQzNDY0YThiYTEwZjNjOGRjNzA1YTMwMmYwMzAzMjZhNzNkIGJ5IEwu IEUuIFNlZ292aWEuCkNvbW1pdHRlZCBvbiAxOC8wNy8yMDIxIGF0IDE4OjA0LgpQdXNoZWQgYnkg ZGthemFrb3YgaW50byBicmFuY2ggJ21hc3RlcicuCgpXZWJQOiBhZGQgbGlid2VicCBiYXNlZCBm aWxlIGZvcm1hdCBwbHVnaW4KClRoaXMgY29tbWl0IGluY29ycG9yYXRlcyBhIG5ldyBmaWxlIGZv cm1hdCBwbHVnaW4gYmFzZWQgb24gdGhlIG9mZmljaWFsCmxpYndlYnAgY29kZWMuIEl0IGFsc28g YnJpbmdzIG5ldyBpbXBvcnQvZXhwb3J0IGRpYWxvZ3MgdGhhdCBlbmFibGUKYWNjZXNzIHRvIGFs bCB0aGUgYXZhaWxhYmxlIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycyBpbiBsaWJ3ZWJwIGFzIG9m CjEuMjAuIChJIGhhdmUgaWZkZWYnZCB0aGUgbW9zdCByZWNlbnQgYml0cyBzbyBpdCBzaG91bGQg Y29tcGlsZSB3aXRoIHRoZQpsYXRlc3QgTFRTIHJlbGVhc2UuKQoKQlVHOiA0MTQ0NDQKCkNDTUFJ TDoga2ltYWdlc2hvcEBrZGUub3JnCgpNICArMiAgICAtMCAgICAzcmRwYXJ0eS9DTWFrZUxpc3Rz LnR4dApBICArMjUgICAtMCAgICAzcmRwYXJ0eS9leHRfd2VicC8wMDAxLUZpeC1DTWFrZS10YXJn ZXRzLWluc3RhbGwtZGlyZWN0b3J5LnBhdGNoCkEgICsxNSAgIC0wICAgIDNyZHBhcnR5L2V4dF93 ZWJwL0NNYWtlTGlzdHMudHh0Ck0gICsxMiAgIC0wICAgIENNYWtlTGlzdHMudHh0Ck0gICsxICAg IC0xICAgIGJ1aWxkLXRvb2xzL3dpbmRvd3MvYnVpbGQtbXN2Yy5jbWQKTSAgKzEgICAgLTEgICAg YnVpbGQtdG9vbHMvd2luZG93cy9idWlsZC5jbWQKQSAgKzIyNCAgLTAgICAgY21ha2UvbW9kdWxl cy9GaW5kV2ViUC5jbWFrZQpNICArMSAgICAtMCAgICBwYWNrYWdpbmcvYW5kcm9pZC9hbmRyb2lk YnVpbGQuc2gKTSAgKzEgICAgLTAgICAgcGFja2FnaW5nL2xpbnV4L2FwcGltYWdlL2J1aWxkLWRl cHMuc2gKTSAgKzEgICAgLTEgICAgcGFja2FnaW5nL21hY29zL29zeGJ1aWxkLnNoCk0gICs0ICAg IC0wICAgIHBsdWdpbnMvaW1wZXgvQ01ha2VMaXN0cy50eHQKTSAgKzIgICAgLTIgICAgcGx1Z2lu cy9pbXBleC9xaW1hZ2Vpby9rcml0YV9xaW1hZ2Vpb19leHBvcnQuanNvbgpNICArMiAgICAtMiAg ICBwbHVnaW5zL2ltcGV4L3FpbWFnZWlvL2tyaXRhX3FpbWFnZWlvX2ltcG9ydC5qc29uCkEgICsy NyAgIC0wICAgIHBsdWdpbnMvaW1wZXgvd2VicC9DTWFrZUxpc3RzLnR4dApBICArMTY2ICAtMCAg ICBwbHVnaW5zL2ltcGV4L3dlYnAvZGxnX3dlYnBfZXhwb3J0LmNwcCAgICAgW0xpY2Vuc2U6IEdQ TCh2Mi4wKyldCkEgICsyOCAgIC0wICAgIHBsdWdpbnMvaW1wZXgvd2VicC9kbGdfd2VicF9leHBv cnQuaCAgICAgW0xpY2Vuc2U6IEdQTCh2Mi4wKyldCkEgICs4MjIgIC0wICAgIHBsdWdpbnMvaW1w ZXgvd2VicC9kbGdfd2VicF9leHBvcnQudWkKQSAgKzE4MSAgLTAgICAgcGx1Z2lucy9pbXBleC93 ZWJwL2RsZ193ZWJwX2ltcG9ydC5jcHAgICAgIFtMaWNlbnNlOiBHUEwodjIuMCspXQpBICArNTQg ICAtMCAgICBwbHVnaW5zL2ltcGV4L3dlYnAvZGxnX3dlYnBfaW1wb3J0LmggICAgIFtMaWNlbnNl OiBHUEwodjIuMCspXQpBICArNDIxICAtMCAgICBwbHVnaW5zL2ltcGV4L3dlYnAvZGxnX3dlYnBf aW1wb3J0LnVpCkEgICsyMzcgIC0wICAgIHBsdWdpbnMvaW1wZXgvd2VicC9raXNfd2VicF9leHBv cnQuY3BwICAgICBbTGljZW5zZTogR1BMKHYyLjArKV0KQSAgKzI5ICAgLTAgICAgcGx1Z2lucy9p bXBleC93ZWJwL2tpc193ZWJwX2V4cG9ydC5oICAgICBbTGljZW5zZTogR1BMKHYyLjArKV0KQSAg KzE5MSAgLTAgICAgcGx1Z2lucy9pbXBleC93ZWJwL2tpc193ZWJwX2ltcG9ydC5jcHAgICAgIFtM aWNlbnNlOiBHUEwodjIuMCspXQpBICArMzIgICAtMCAgICBwbHVnaW5zL2ltcGV4L3dlYnAva2lz X3dlYnBfaW1wb3J0LmggICAgIFtMaWNlbnNlOiBHUEwodjIuMCspXQpBICArNzIgICAtMCAgICBw bHVnaW5zL2ltcGV4L3dlYnAva3JpdGFfd2VicC5kZXNrdG9wCkEgICsxMiAgIC0wICAgIHBsdWdp bnMvaW1wZXgvd2VicC9rcml0YV93ZWJwX2V4cG9ydC5qc29uCkEgICsxMiAgIC0wICAgIHBsdWdp bnMvaW1wZXgvd2VicC9rcml0YV93ZWJwX2ltcG9ydC5qc29uCgpodHRwczovL2ludmVudC5rZGUu b3JnL2dyYXBoaWNzL2tyaXRhL2NvbW1pdC8wZDgxMWQzNDY0YThiYTEwZjNjOGRjNzA1YTMwMmYw MzAzMjZhNzNkCgpkaWZmIC0tZ2l0IGEvM3JkcGFydHkvQ01ha2VMaXN0cy50eHQgYi8zcmRwYXJ0 eS9DTWFrZUxpc3RzLnR4dAppbmRleCBhZThlZDMyYzI0Li40YjA3NDdhYmYzIDEwMDY0NAotLS0g YS8zcmRwYXJ0eS9DTWFrZUxpc3RzLnR4dAorKysgYi8zcmRwYXJ0eS9DTWFrZUxpc3RzLnR4dApA QCAtMzIxLDMgKzMyMSw1IEBAIGFkZF9zdWJkaXJlY3RvcnkoZXh0X215cGFpbnQpCiBpZiAoVU5J WCBBTkQgTk9UIEFQUExFKQogICAgIGFkZF9zdWJkaXJlY3RvcnkoZXh0X2ZjaXR4LXF0KQogZW5k aWYoKQorCithZGRfc3ViZGlyZWN0b3J5KGV4dF93ZWJwKQpkaWZmIC0tZ2l0IGEvM3JkcGFydHkv ZXh0X3dlYnAvMDAwMS1GaXgtQ01ha2UtdGFyZ2V0cy1pbnN0YWxsLWRpcmVjdG9yeS5wYXRjaCBi LzNyZHBhcnR5L2V4dF93ZWJwLzAwMDEtRml4LUNNYWtlLXRhcmdldHMtaW5zdGFsbC1kaXJlY3Rv cnkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uOWE5N2M3ZDc5 MwotLS0gL2Rldi9udWxsCisrKyBiLzNyZHBhcnR5L2V4dF93ZWJwLzAwMDEtRml4LUNNYWtlLXRh cmdldHMtaW5zdGFsbC1kaXJlY3RvcnkucGF0Y2gKQEAgLTAsMCArMSwyNSBAQAorRnJvbSA2M2I1 NzE0NGYwY2ZlYTEwYWJiZDUwNjc0YmMyMGEyZmEzM2NiNTQ5IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogIkwuIEUuIFNlZ292aWEiIDxhbXlAYW15c3BhcmsubWU+CitEYXRlOiBTdW4s IDYgSnVuIDIwMjEgMTM6NDc6MjUgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IENNYWtlIHRh cmdldHMgaW5zdGFsbCBkaXJlY3RvcnkKKworLS0tCisgQ01ha2VMaXN0cy50eHQgfCAyICstCisg MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1n aXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCA3YzBlOThlLi4zMDU0 ZmJjIDEwMDY0NAorLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrKyBiL0NNYWtlTGlzdHMudHh0CitA QCAtNjY4LDcgKzY2OCw3IEBAIGluc3RhbGwoVEFSR0VUUyAke0lOU1RBTExFRF9MSUJSQVJJRVN9 CisgICAgICAgICBBUkNISVZFIERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9MSUJESVJ9Cisg ICAgICAgICBMSUJSQVJZIERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9MSUJESVJ9CisgICAg ICAgICBSVU5USU1FIERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9CSU5ESVJ9KQorLXNldChD b25maWdQYWNrYWdlTG9jYXRpb24gJHtDTUFLRV9JTlNUQUxMX0RBVEFESVJ9LyR7UFJPSkVDVF9O QU1FfS9jbWFrZS8pCisrc2V0KENvbmZpZ1BhY2thZ2VMb2NhdGlvbiAke0NNQUtFX0lOU1RBTExf REFUQURJUn0vY21ha2UvJHtQUk9KRUNUX05BTUV9KQorIGluc3RhbGwoRVhQT1JUICR7UFJPSkVD VF9OQU1FfVRhcmdldHMKKyAgICAgICAgIE5BTUVTUEFDRSAke1BST0pFQ1RfTkFNRX06OgorICAg ICAgICAgREVTVElOQVRJT04gJHtDb25maWdQYWNrYWdlTG9jYXRpb259KQorLS0gCisyLjMxLjEK KwpkaWZmIC0tZ2l0IGEvM3JkcGFydHkvZXh0X3dlYnAvQ01ha2VMaXN0cy50eHQgYi8zcmRwYXJ0 eS9leHRfd2VicC9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwLi44OGYzYTY1ZWNmCi0tLSAvZGV2L251bGwKKysrIGIvM3JkcGFydHkvZXh0X3dlYnAv Q01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSwxNSBAQAorU0VUKEVYVFBSRUZJWF93ZWJwICIke0VY VFBSRUZJWH0iICkKKworRXh0ZXJuYWxQcm9qZWN0X0FkZCggZXh0X3dlYnAKKyAgICBET1dOTE9B RF9ESVIgJHtFWFRFUk5BTFNfRE9XTkxPQURfRElSfQorICAgIFVSTCBodHRwczovL3N0b3JhZ2Uu Z29vZ2xlYXBpcy5jb20vZG93bmxvYWRzLndlYm1wcm9qZWN0Lm9yZy9yZWxlYXNlcy93ZWJwL2xp YndlYnAtMS4yLjAudGFyLmd6CisgICAgVVJMX0hBU0ggU0hBNTEyPWM0NmI0MTg5OWE1NDNjYzgw OTE0Yzg5NjQ2ZGQ2MDdkYmI1ZDAyNWE5NzI3ZGQ4M2VmNzA5OTRiOTMxMGVlZGM2OTc2NjZiZDgx MjE0MWE5MGFhMTY2MzJhOWEzNTRhMDMxZDkzNjBhOWVlMTExMjI5NWM3ZTE1NGU2OWYwYjc0CisK KyAgICBQQVRDSF9DT01NQU5EICAke1BBVENIX0NPTU1BTkR9IC1wMSAtaSAke0NNQUtFX0NVUlJF TlRfU09VUkNFX0RJUn0vMDAwMS1GaXgtQ01ha2UtdGFyZ2V0cy1pbnN0YWxsLWRpcmVjdG9yeS5w YXRjaAorCisgICAgIyBHb29nbGUgc3BlY2lmaWVzIHR5cGVzIGZvciBtb3N0IG9mIGl0cyBsaWJy YXJ5IGNvbXBvbmVudHMKKyAgICAjIGZvcmNpbmcgYSBzaGFyZWQgbGliIG1ha2VzIGl0IG5vdCBl eHBvcnQgYSAubGliIG9uIE1TVkMKKyAgICBDTUFLRV9BUkdTIC1EQ01BS0VfSU5TVEFMTF9QUkVG SVg9JHtFWFRQUkVGSVhfd2VicH0gLURDTUFLRV9CVUlMRF9UWVBFPSR7R0xPQkFMX0JVSUxEX1RZ UEV9IC1EQlVJTERfU0hBUkVEX0xJQlM9T0ZGICR7R0xPQkFMX1BST0ZJTEV9CisKKyAgICBVUERB VEVfQ09NTUFORCAiIgorKQpkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3Rz LnR4dAppbmRleCBmMjk5NzEyZjc5Li5mMTMzOWFmN2M5IDEwMDY0NAotLS0gYS9DTWFrZUxpc3Rz LnR4dAorKysgYi9DTWFrZUxpc3RzLnR4dApAQCAtNjk3LDYgKzY5NywxOCBAQCBlbmRpZigpCiAj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK IAorCitmaW5kX3BhY2thZ2UoV2ViUCAwLjYuMSkKK3NldF9wYWNrYWdlX3Byb3BlcnRpZXMoV2Vi UCBQUk9QRVJUSUVTCisgICAgVVJMICJodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9zcGVl ZC93ZWJwIgorICAgIFRZUEUgT1BUSU9OQUwKKyAgICBQVVJQT1NFICJSZXF1aXJlZCBieSB0aGUg V2ViUCBwbHVnaW4iCispCitpZihXZWJQX0ZPVU5EKQorICAgIGdldF90YXJnZXRfcHJvcGVydHko V2ViUF9MSUJSQVJZIFdlYlA6OndlYnAgIkxPQ0FUSU9OIikKKyAgICBsaXN0IChBUFBFTkQgQU5E Uk9JRF9FWFRSQV9MSUJTICR7V2ViUF9MSUJSQVJZfSkKK2VuZGlmKCkKKwogIyMKICMjIFRlc3Qg Zm9yIEtTZUV4cHIKICMjCmRpZmYgLS1naXQgYS9idWlsZC10b29scy93aW5kb3dzL2J1aWxkLW1z dmMuY21kIGIvYnVpbGQtdG9vbHMvd2luZG93cy9idWlsZC1tc3ZjLmNtZAppbmRleCAwMWMwMTFm N2ZlLi5kMmVjNWIxYWMwIDEwMDY0NAotLS0gYS9idWlsZC10b29scy93aW5kb3dzL2J1aWxkLW1z dmMuY21kCisrKyBiL2J1aWxkLXRvb2xzL3dpbmRvd3MvYnVpbGQtbXN2Yy5jbWQKQEAgLTg2MSw3 ICs4NjEsNyBAQCBzZXQgRVhUX1RBUkdFVFM9JUVYVF9UQVJHRVRTJSBvY2lvIG9wZW5leHIgcG5n IGljb3V0aWxzIHRpZmYgZ3NsIHZjIGxpYnJhdwogc2V0IEVYVF9UQVJHRVRTPSVFWFRfVEFSR0VU UyUgZ2lmbGliIHF0IGt3aW5kb3dzeXN0ZW0gZHJtaW5ndyBnbWljIGZyZWV0eXBlIHBvcHBsZXIg CiBzZXQgRVhUX1RBUkdFVFM9JUVYVF9UQVJHRVRTJSBweXRob24gc2lwIHB5cXQKIHNldCBFWFRf VEFSR0VUUz0lRVhUX1RBUkdFVFMlIGx6bWEgcXVhemlwIG9wZW5qcGVnIGxpYmRlMjY1IGxpYngy NjUgbGliaGVpZgotc2V0IEVYVF9UQVJHRVRTPSVFWFRfVEFSR0VUUyUgc2VleHByIG15cGFpbnQK K3NldCBFWFRfVEFSR0VUUz0lRVhUX1RBUkdFVFMlIHNlZXhwciBteXBhaW50IHdlYnAKIAogZm9y ICUlYSBpbiAoJUVYVF9UQVJHRVRTJSkgZG8gKAogICAgIGVjaG8gQnVpbGRpbmcgZXh0XyUlYS4u LgpkaWZmIC0tZ2l0IGEvYnVpbGQtdG9vbHMvd2luZG93cy9idWlsZC5jbWQgYi9idWlsZC10b29s cy93aW5kb3dzL2J1aWxkLmNtZAppbmRleCBhYmEzMTliYTRkLi45MWY0NDJmNGZlIDEwMDY0NAot LS0gYS9idWlsZC10b29scy93aW5kb3dzL2J1aWxkLmNtZAorKysgYi9idWlsZC10b29scy93aW5k b3dzL2J1aWxkLmNtZApAQCAtODkxLDcgKzg5MSw3IEBAIHNldCBFWFRfVEFSR0VUUz0lRVhUX1RB UkdFVFMlIG9jaW8gb3BlbmV4ciBwbmcgaWNvdXRpbHMgdGlmZiBnc2wgdmMgbGlicmF3CiBzZXQg RVhUX1RBUkdFVFM9JUVYVF9UQVJHRVRTJSBnaWZsaWIgcXQga3dpbmRvd3N5c3RlbSBkcm1pbmd3 IGdtaWMgZnJlZXR5cGUgcG9wcGxlciAKIHNldCBFWFRfVEFSR0VUUz0lRVhUX1RBUkdFVFMlIHB5 dGhvbiBzaXAgcHlxdAogc2V0IEVYVF9UQVJHRVRTPSVFWFRfVEFSR0VUUyUgbHptYSBxdWF6aXAg b3BlbmpwZWcgbGliZGUyNjUgbGlieDI2NSBsaWJoZWlmCi1zZXQgRVhUX1RBUkdFVFM9JUVYVF9U QVJHRVRTJSBzZWV4cHIgbXlwYWludCAKK3NldCBFWFRfVEFSR0VUUz0lRVhUX1RBUkdFVFMlIHNl ZXhwciBteXBhaW50IHdlYnAKIAogZm9yICUlYSBpbiAoJUVYVF9UQVJHRVRTJSkgZG8gKAogICAg IGVjaG8gQnVpbGRpbmcgZXh0XyUlYS4uLgpkaWZmIC0tZ2l0IGEvY21ha2UvbW9kdWxlcy9GaW5k V2ViUC5jbWFrZSBiL2NtYWtlL21vZHVsZXMvRmluZFdlYlAuY21ha2UKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uYjY1MjI0M2VjMwotLS0gL2Rldi9udWxsCisrKyBiL2Nt YWtlL21vZHVsZXMvRmluZFdlYlAuY21ha2UKQEAgLTAsMCArMSwyMjQgQEAKKyMgQ29weXJpZ2h0 IChDKSAyMDIwIFNvbnkgSW50ZXJhY3RpdmUgRW50ZXJ0YWlubWVudCBJbmMuCisjIENvcHlyaWdo dCAoQykgMjAxMiBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgPHJha3Vjb0B3ZWJraXQub3JnPgorIyBD b3B5cmlnaHQgKEMpIDIwMTMgSWdhbGlhIFMuTC4KKyMgQ29weXJpZ2h0IChDKSAyMDIxIEwuIEUu IFNlZ292aWEgPGFteUBhbXlzcGFyay5tZT4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlv biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor IyBhcmUgbWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0 YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9u cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAg ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns YWltZXIgaW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBS T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMK KyMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs IEJVVCBOT1QgTElNSVRFRCBUTywKKyMgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorIyBQVVJQT1NFIEFSRSBESVND TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBJVFMKKyMg Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U QUwsIFNQRUNJQUwsCisjIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyMgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7CisjIE9SIEJV U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg TElBQklMSVRZLAorIyBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUgorIyBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisjIEFEVklTRUQg T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisjWz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Wy5y c3Q6CitGaW5kV2ViUAorLS0tLS0tLS0tLS0tLS0KKworRmluZCBXZWJQIGhlYWRlcnMgYW5kIGxp YnJhcmllcy4KKworSW1wb3J0ZWQgVGFyZ2V0cworXl5eXl5eXl5eXl5eXl5eXgorCitgYFdlYlA6 OndlYnBgYAorICBUaGUgV2ViUCBsaWJyYXJ5LCBpZiBmb3VuZC4KKworYGBXZWJQOjp3ZWJwZGVt dXhgYAorICBUaGUgV2ViUCBkZW11eCBsaWJyYXJ5LCBpZiBmb3VuZC4KKworYGBXZWJQOjp3ZWJw bXV4YGAKKyAgVGhlIFdlYlAgbXV4IGxpYnJhcnksIGlmIGZvdW5kLgorCitgYFdlYlA6OndlYnBk ZWNvZGVyYGAKKyAgVGhlIFdlYlAgZGVjb2RlciBsaWJyYXJ5LCBpZiBmb3VuZC4KKworUmVzdWx0 IFZhcmlhYmxlcworXl5eXl5eXl5eXl5eXl5eXgorCitUaGlzIHdpbGwgZGVmaW5lIHRoZSBmb2xs b3dpbmcgdmFyaWFibGVzIGluIHlvdXIgcHJvamVjdDoKKworYGBXZWJQX0ZPVU5EYGAKKyAgdHJ1 ZSBpZiAodGhlIHJlcXVlc3RlZCB2ZXJzaW9uIG9mKSBXZWJQIGlzIGF2YWlsYWJsZS4KK2BgV2Vi UF9WRVJTSU9OYGAKKyAgdGhlIHZlcnNpb24gb2YgV2ViUC4KK2BgV2ViUF9MSUJSQVJJRVNgYAor ICB0aGUgbGlicmFyaWVzIHRvIGxpbmsgYWdhaW5zdCB0byB1c2UgV2ViUC4KK2BgV2ViUF9JTkNM VURFX0RJUlNgYAorICB3aGVyZSB0byBmaW5kIHRoZSBXZWJQIGhlYWRlcnMuCitgYFdlYlBfQ09N UElMRV9PUFRJT05TYGAKKyAgdGhpcyBzaG91bGQgYmUgcGFzc2VkIHRvIHRhcmdldF9jb21waWxl X29wdGlvbnMoKSwgaWYgdGhlCisgIHRhcmdldCBpcyBub3QgdXNlZCBmb3IgbGlua2luZworCisj XT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09XQorCitpbmNsdWRlKEZpbmRQYWNrYWdlSGFuZGxlU3RhbmRhcmRBcmdz KQorCitzZXQoUENfV0VCUF9DT05GSUdfRElSKQorZm9yZWFjaChfZGlyICR7Q01BS0VfUFJFRklY X1BBVEh9KQorICAgIGxpc3QoQVBQRU5EIFBDX1dFQlBfQ09ORklHX0RJUiAke19kaXJ9L3NoYXJl L1dlYlAvY21ha2UpCitlbmRmb3JlYWNoKCkKK21hcmtfYXNfYWR2YW5jZWQoUENfV0VCUF9DT05G SUdfRElSKQorCitmaW5kX3BhY2thZ2UoV2ViUCBRVUlFVCBOT19NT0RVTEUKKyAgICBISU5UUyAk e1BDX1dFQlBfQ09ORklHX0RJUn0gL3Vzci9zaGFyZS9XZWJQL2NtYWtlIC91c3IvbG9jYWwvc2hh cmUvV2ViUC9jbWFrZQorKQorbWFya19hc19hZHZhbmNlZChXZWJQX0RJUikKKworIyBpZiB3ZSBm b3VuZCB0aGUgV2ViUCBDTWFrZSBwYWNrYWdlIHRoZW4gd2UgYXJlIGRvbmUsIGFuZAorIyBjYW4g cHJpbnQgd2hhdCB3ZSBmb3VuZCBhbmQgcmV0dXJuLgoraWYoV2ViUF9GT1VORCkKKyAgICBmaW5k X3BhY2thZ2VfaGFuZGxlX3N0YW5kYXJkX2FyZ3MoV2ViUCBIQU5ETEVfQ09NUE9ORU5UUyBDT05G SUdfTU9ERSkKKyAgICBtZXNzYWdlKFNUQVRVUyAiV2ViUCBmb3VuZCB1c2luZyBDTWFrZSBDb25m aWcgbW9kdWxlLiIpCisgICAgcmV0dXJuKCkKK2VuZGlmKCkKKworZmluZF9wYWNrYWdlKFBrZ0Nv bmZpZyBRVUlFVCkKK3BrZ19jaGVja19tb2R1bGVzKFBDX1dFQlAgUVVJRVQgbGlid2VicCkKK3Nl dChXZWJQX0NPTVBJTEVfT1BUSU9OUyAke1BDX1dFQlBfQ0ZMQUdTX09USEVSfSkKK3NldChXZWJQ X1ZFUlNJT04gJHtQQ19XRUJQX0NGTEFHU19WRVJTSU9OfSkKKworZmluZF9wYXRoKFdlYlBfSU5D TFVERV9ESVIKKyAgICBOQU1FUyB3ZWJwL2RlY29kZS5oCisgICAgSElOVFMgJHtQQ19XRUJQX0lO Q0xVREVESVJ9ICR7UENfV0VCUF9JTkNMVURFX0RJUlN9CispCisKK2ZpbmRfbGlicmFyeShXZWJQ X0xJQlJBUlkKKyAgICBOQU1FUyAke1dlYlBfTkFNRVN9IHdlYnAKKyAgICBISU5UUyAke1BDX1dF QlBfTElCRElSfSAke1BDX1dFQlBfTElCUkFSWV9ESVJTfQorKQorCisjIFRoZXJlJ3Mgbm90aGlu ZyBpbiB0aGUgV2ViUCBoZWFkZXJzIHRoYXQgY291bGQgYmUgdXNlZCB0byBkZXRlY3QgdGhlIGV4 YWN0CisjIFdlYlAgdmVyc2lvbiBiZWluZyB1c2VkIHNvIGRvbid0IGF0dGVtcHQgdG8gZG8gc28u IEEgdmVyc2lvbiBjYW4gb25seSBiZSBmb3VuZAorIyB0aHJvdWdoIHBrZy1jb25maWcKK2lmICgi JHtXZWJQX0ZJTkRfVkVSU0lPTn0iIFZFUlNJT05fR1JFQVRFUiAiJHtXZWJQX1ZFUlNJT059IikK KyAgICBpZiAoV2ViUF9WRVJTSU9OKQorICAgICAgICBtZXNzYWdlKEZBVEFMX0VSUk9SICJSZXF1 aXJlZCB2ZXJzaW9uICgiICR7V2ViUF9GSU5EX1ZFUlNJT059ICIpIGlzIGhpZ2hlciB0aGFuIGZv dW5kIHZlcnNpb24gKCIgJHtXZWJQX1ZFUlNJT059ICIpIikKKyAgICBlbHNlICgpCisgICAgICAg IG1lc3NhZ2UoV0FSTklORyAiQ2Fubm90IGRldGVybWluZSBXZWJQIHZlcnNpb24gd2l0aG91dCBw a2ctY29uZmlnIikKKyAgICBlbmRpZiAoKQorZW5kaWYgKCkKKworIyBGaW5kIGNvbXBvbmVudHMK K2lmIChXZWJQX0lOQ0xVREVfRElSIEFORCBXZWJQX0xJQlJBUlkpCisgICAgc2V0KF9XZWJQX1JF UVVJUkVEX0xJQlNfRk9VTkQgT04pCisgICAgc2V0KFdlYlBfTElCU19GT1VORCAiV2ViUCAocmVx dWlyZWQpOiAke1dlYlBfTElCUkFSWX0iKQorZWxzZSAoKQorICAgIHNldChfV2ViUF9SRVFVSVJF RF9MSUJTX0ZPVU5EIE9GRikKKyAgICBzZXQoV2ViUF9MSUJTX05PVF9GT1VORCAiV2ViUCAocmVx dWlyZWQpIikKK2VuZGlmICgpCisKK2ZpbmRfbGlicmFyeShXZWJQX0RFTVVYX0xJQlJBUlkKKyAg ICBOQU1FUyAke1dlYlBfREVNVVhfTkFNRVN9IHdlYnBkZW11eAorICAgIEhJTlRTICR7UENfV0VC UF9MSUJESVJ9ICR7UENfV0VCUF9MSUJSQVJZX0RJUlN9CispCisKK2lmIChXZWJQX0RFTVVYX0xJ QlJBUlkpCisgICAgbGlzdChBUFBFTkQgV2ViUF9MSUJTX0ZPVU5EICJ3ZWJwZGVtdXg6ICR7V2Vi UF9ERU1VWF9MSUJSQVJZfSIpCitlbHNlICgpCisgICAgbGlzdChBUFBFTkQgV2ViUF9MSUJTX05P VF9GT1VORCAid2VicGRlbXV4IikKK2VuZGlmICgpCisKK2ZpbmRfbGlicmFyeShXZWJQX01VWF9M SUJSQVJZCisgICAgTkFNRVMgJHtXZWJQX01VWF9OQU1FU30gd2VicG11eAorICAgIEhJTlRTICR7 UENfV0VCUF9MSUJESVJ9ICR7UENfV0VCUF9MSUJSQVJZX0RJUlN9CispCisKK2lmIChXZWJQX01V WF9MSUJSQVJZKQorICAgIGxpc3QoQVBQRU5EIFdlYlBfTElCU19GT1VORCAid2VicG11eDogJHtX ZWJQX01VWF9MSUJSQVJZfSIpCitlbHNlICgpCisgICAgbGlzdChBUFBFTkQgV2ViUF9MSUJTX05P VF9GT1VORCAid2VicG11eCIpCitlbmRpZiAoKQorCitmaW5kX2xpYnJhcnkoV2ViUF9ERUNPREVS X0xJQlJBUlkKKyAgICBOQU1FUyAke1dlYlBfREVDT0RFUl9OQU1FU30gd2VicGRlY29kZXIKKyAg ICBISU5UUyAke1BDX1dFQlBfTElCRElSfSAke1BDX1dFQlBfTElCUkFSWV9ESVJTfQorKQorCitp ZiAoV2ViUF9ERUNPREVSX0xJQlJBUlkpCisgICAgbGlzdChBUFBFTkQgV2ViUF9MSUJTX0ZPVU5E ICJ3ZWJwZGVjb2RlcjogJHtXZWJQX0RFQ09ERVJfTElCUkFSWX0iKQorZWxzZSAoKQorICAgIGxp c3QoQVBQRU5EIFdlYlBfTElCU19OT1RfRk9VTkQgIndlYnBkZWNvZGVyIikKK2VuZGlmICgpCisK K2lmIChOT1QgV2ViUF9GSU5EX1FVSUVUTFkpCisgICAgaWYgKFdlYlBfTElCU19GT1VORCkKKyAg ICAgICAgbWVzc2FnZShTVEFUVVMgIkZvdW5kIHRoZSBmb2xsb3dpbmcgV2ViUCBsaWJyYXJpZXM6 IikKKyAgICAgICAgZm9yZWFjaCAoZm91bmQgJHtXZWJQX0xJQlNfRk9VTkR9KQorICAgICAgICAg ICAgbWVzc2FnZShTVEFUVVMgIiAke2ZvdW5kfSIpCisgICAgICAgIGVuZGZvcmVhY2ggKCkKKyAg ICBlbmRpZiAoKQorICAgIGlmIChXZWJQX0xJQlNfTk9UX0ZPVU5EKQorICAgICAgICBtZXNzYWdl KFNUQVRVUyAiVGhlIGZvbGxvd2luZyBXZWJQIGxpYnJhcmllcyB3ZXJlIG5vdCBmb3VuZDoiKQor ICAgICAgICBmb3JlYWNoIChmb3VuZCAke1dlYlBfTElCU19OT1RfRk9VTkR9KQorICAgICAgICAg ICAgbWVzc2FnZShTVEFUVVMgIiAke2ZvdW5kfSIpCisgICAgICAgIGVuZGZvcmVhY2ggKCkKKyAg ICBlbmRpZiAoKQorZW5kaWYgKCkKKworZmluZF9wYWNrYWdlX2hhbmRsZV9zdGFuZGFyZF9hcmdz KFdlYlAKKyAgICBGT1VORF9WQVIgV2ViUF9GT1VORAorICAgIFJFUVVJUkVEX1ZBUlMgV2ViUF9J TkNMVURFX0RJUiBXZWJQX0xJQlJBUlkgX1dlYlBfUkVRVUlSRURfTElCU19GT1VORAorICAgIFZF UlNJT05fVkFSIFdlYlBfVkVSU0lPTgorKQorCitpZiAoV2ViUF9MSUJSQVJZIEFORCBOT1QgVEFS R0VUIFdlYlA6OndlYnApCisgICAgYWRkX2xpYnJhcnkoV2ViUDo6d2VicCBVTktOT1dOIElNUE9S VEVEIEdMT0JBTCkKKyAgICBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoV2ViUDo6d2VicCBQUk9QRVJU SUVTCisgICAgICAgIElNUE9SVEVEX0xPQ0FUSU9OICIke1dlYlBfTElCUkFSWX0iCisgICAgICAg IElOVEVSRkFDRV9DT01QSUxFX09QVElPTlMgIiR7V2ViUF9DT01QSUxFX09QVElPTlN9IgorICAg ICAgICBJTlRFUkZBQ0VfSU5DTFVERV9ESVJFQ1RPUklFUyAiJHtXZWJQX0lOQ0xVREVfRElSfSIK KyAgICApCitlbmRpZiAoKQorCitpZiAoV2ViUF9ERU1VWF9MSUJSQVJZIEFORCBOT1QgVEFSR0VU IFdlYlA6OndlYnBkZW11eCkKKyAgICBhZGRfbGlicmFyeShXZWJQOjp3ZWJwZGVtdXggVU5LTk9X TiBJTVBPUlRFRCBHTE9CQUwpCisgICAgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKFdlYlA6OndlYnBk ZW11eCBQUk9QRVJUSUVTCisgICAgICAgIElNUE9SVEVEX0xPQ0FUSU9OICIke1dlYlBfREVNVVhf TElCUkFSWX0iCisgICAgICAgIElOVEVSRkFDRV9DT01QSUxFX09QVElPTlMgIiR7V2ViUF9DT01Q SUxFX09QVElPTlN9IgorICAgICAgICBJTlRFUkZBQ0VfSU5DTFVERV9ESVJFQ1RPUklFUyAiJHtX ZWJQX0lOQ0xVREVfRElSfSIKKyAgICApCitlbmRpZiAoKQorCitpZiAoV2ViUF9NVVhfTElCUkFS WSBBTkQgTk9UIFRBUkdFVCBXZWJQOjp3ZWJwbXV4KQorICAgIGFkZF9saWJyYXJ5KFdlYlA6Ondl YnBtdXggVU5LTk9XTiBJTVBPUlRFRCBHTE9CQUwpCisgICAgc2V0X3RhcmdldF9wcm9wZXJ0aWVz KFdlYlA6OndlYnBtdXggUFJPUEVSVElFUworICAgICAgICBJTVBPUlRFRF9MT0NBVElPTiAiJHtX ZWJQX01VWF9MSUJSQVJZfSIKKyAgICAgICAgSU5URVJGQUNFX0NPTVBJTEVfT1BUSU9OUyAiJHtX ZWJQX0NPTVBJTEVfT1BUSU9OU30iCisgICAgICAgIElOVEVSRkFDRV9JTkNMVURFX0RJUkVDVE9S SUVTICIke1dlYlBfSU5DTFVERV9ESVJ9IgorICAgICkKK2VuZGlmICgpCisKK2lmIChXZWJQX0RF Q09ERVJfTElCUkFSWSBBTkQgTk9UIFRBUkdFVCBXZWJQOjp3ZWJwZGVjb2RlcikKKyAgICBhZGRf bGlicmFyeShXZWJQOjp3ZWJwZGVjb2RlciBVTktOT1dOIElNUE9SVEVEIEdMT0JBTCkKKyAgICBz ZXRfdGFyZ2V0X3Byb3BlcnRpZXMoV2ViUDo6d2VicGRlY29kZXIgUFJPUEVSVElFUworICAgICAg ICBJTVBPUlRFRF9MT0NBVElPTiAiJHtXZWJQX0RFQ09ERVJfTElCUkFSWX0iCisgICAgICAgIElO VEVSRkFDRV9DT01QSUxFX09QVElPTlMgIiR7V2ViUF9DT01QSUxFX09QVElPTlN9IgorICAgICAg ICBJTlRFUkZBQ0VfSU5DTFVERV9ESVJFQ1RPUklFUyAiJHtXZWJQX0lOQ0xVREVfRElSfSIKKyAg ICApCitlbmRpZiAoKQorCittYXJrX2FzX2FkdmFuY2VkKAorICAgIFdlYlBfSU5DTFVERV9ESVIK KyAgICBXZWJQX0xJQlJBUlkKKyAgICBXZWJQX0RFTVVYX0xJQlJBUlkKKyAgICBXZWJQX01VWF9M SUJSQVJZCisgICAgV2ViUF9ERUNPREVSX0xJQlJBUlkKKykKKworaWYgKFdlYlBfRk9VTkQpCisg ICAgc2V0KFdlYlBfTElCUkFSSUVTICR7V2ViUF9MSUJSQVJZfSAke1dlYlBfREVNVVhfTElCUkFS WX0gJHtXZWJQX01VWF9MSUJSQVJZfSAke1dlYlBfREVDT0RFUl9MSUJSQVJZfSkKKyAgICBzZXQo V2ViUF9JTkNMVURFX0RJUlMgJHtXZWJQX0lOQ0xVREVfRElSfSkKK2VuZGlmICgpCmRpZmYgLS1n aXQgYS9wYWNrYWdpbmcvYW5kcm9pZC9hbmRyb2lkYnVpbGQuc2ggYi9wYWNrYWdpbmcvYW5kcm9p ZC9hbmRyb2lkYnVpbGQuc2gKaW5kZXggODQzOGYwYjhkNi4uN2E3YzMyYjM3NCAxMDA3NTUKLS0t IGEvcGFja2FnaW5nL2FuZHJvaWQvYW5kcm9pZGJ1aWxkLnNoCisrKyBiL3BhY2thZ2luZy9hbmRy b2lkL2FuZHJvaWRidWlsZC5zaApAQCAtOTksNiArOTksNyBAQCBidWlsZF9leHQoKSB7CiAgICAg Y21ha2UgLS1idWlsZCAuIC0tY29uZmlnICRCVUlMRF9UWVBFIC0tdGFyZ2V0IGV4dF9laWdlbjMg LS0gLWokUFJPQ19DT1VOVAogICAgIGNtYWtlIC0tYnVpbGQgLiAtLWNvbmZpZyAkQlVJTERfVFlQ RSAtLXRhcmdldCBleHRfc2VleHByIC0tIC1qJFBST0NfQ09VTlQKICAgICBjbWFrZSAtLWJ1aWxk IC4gLS1jb25maWcgJEJVSUxEX1RZUEUgLS10YXJnZXQgZXh0X215cGFpbnQgLS0gLWokUFJPQ19D T1VOVAorICAgIGNtYWtlIC0tYnVpbGQgLiAtLWNvbmZpZyAkQlVJTERfVFlQRSAtLXRhcmdldCBl eHRfd2VicCAtLSAtaiRQUk9DX0NPVU5UCiAKICAgICBjZCAkQlVJTERfUk9PVAogfQpkaWZmIC0t Z2l0IGEvcGFja2FnaW5nL2xpbnV4L2FwcGltYWdlL2J1aWxkLWRlcHMuc2ggYi9wYWNrYWdpbmcv bGludXgvYXBwaW1hZ2UvYnVpbGQtZGVwcy5zaAppbmRleCA5MWY2MTE2ZTQyLi44NGU1MjQ4ZTM5 IDEwMDc1NQotLS0gYS9wYWNrYWdpbmcvbGludXgvYXBwaW1hZ2UvYnVpbGQtZGVwcy5zaAorKysg Yi9wYWNrYWdpbmcvbGludXgvYXBwaW1hZ2UvYnVpbGQtZGVwcy5zaApAQCAtMTIyLDMgKzEyMiw0 IEBAIGNtYWtlIC0tYnVpbGQgLiAtLWNvbmZpZyBSZWxXaXRoRGViSW5mbyAtLXRhcmdldCBleHRf bGliaGVpZgogY21ha2UgLS1idWlsZCAuIC0tY29uZmlnIFJlbFdpdGhEZWJJbmZvIC0tdGFyZ2V0 IGV4dF9zZWV4cHIKIGNtYWtlIC0tYnVpbGQgLiAtLWNvbmZpZyBSZWxXaXRoRGViSW5mbyAtLXRh cmdldCBleHRfbXlwYWludAogY21ha2UgLS1idWlsZCAuIC0tY29uZmlnIFJlbFdpdGhEZWJJbmZv IC0tdGFyZ2V0IGV4dF9mY2l0eC1xdDUKK2NtYWtlIC0tYnVpbGQgLiAtLWNvbmZpZyBSZWxXaXRo RGViSW5mbyAtLXRhcmdldCBleHRfd2VicApkaWZmIC0tZ2l0IGEvcGFja2FnaW5nL21hY29zL29z eGJ1aWxkLnNoIGIvcGFja2FnaW5nL21hY29zL29zeGJ1aWxkLnNoCmluZGV4IDQxZDQ4MWI4MWQu LmEzMjM1YjY3ZTkgMTAwNzU1Ci0tLSBhL3BhY2thZ2luZy9tYWNvcy9vc3hidWlsZC5zaAorKysg Yi9wYWNrYWdpbmcvbWFjb3Mvb3N4YnVpbGQuc2gKQEAgLTM5Miw3ICszOTIsNyBAQCBidWlsZF8z cmRwYXJ0eSAoKSB7CiAKICAgICBjbWFrZV8zcmRwYXJ0eSBleHRfc2VleHByCiAgICAgY21ha2Vf M3JkcGFydHkgZXh0X215cGFpbnQKLQorICAgIGNtYWtlXzNyZHBhcnR5IGV4dF93ZWJwCiAKIAog ICAgICMjIEFsbCBidWlsZHMgZG9uZSwgY3JlYXRpbmcgYSBuZXcgaW5zdGFsbCBvbmx5ZGVwcyBp bnN0YWxsIGRpcgpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9pbXBleC9DTWFrZUxpc3RzLnR4dCBiL3Bs dWdpbnMvaW1wZXgvQ01ha2VMaXN0cy50eHQKaW5kZXggYzk0Njc0YjM4MS4uNWYzMWViM2FlOSAx MDA2NDQKLS0tIGEvcGx1Z2lucy9pbXBleC9DTWFrZUxpc3RzLnR4dAorKysgYi9wbHVnaW5zL2lt cGV4L0NNYWtlTGlzdHMudHh0CkBAIC01NiwzICs1Niw3IEBAIGlmIChIRUlGX0ZPVU5EKQogZW5k aWYoKQogCiBhZGRfc3ViZGlyZWN0b3J5KGtyeikKKworaWYgKFdlYlBfRk9VTkQpCisgICAgYWRk X3N1YmRpcmVjdG9yeSh3ZWJwKQorZW5kaWYoKQpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9pbXBleC9x aW1hZ2Vpby9rcml0YV9xaW1hZ2Vpb19leHBvcnQuanNvbiBiL3BsdWdpbnMvaW1wZXgvcWltYWdl aW8va3JpdGFfcWltYWdlaW9fZXhwb3J0Lmpzb24KaW5kZXggYjcwMDk5NDNlZi4uNDIwYzdjNzRm ZiAxMDA2NDQKLS0tIGEvcGx1Z2lucy9pbXBleC9xaW1hZ2Vpby9rcml0YV9xaW1hZ2Vpb19leHBv cnQuanNvbgorKysgYi9wbHVnaW5zL2ltcGV4L3FpbWFnZWlvL2tyaXRhX3FpbWFnZWlvX2V4cG9y dC5qc29uCkBAIC0yLDExICsyLDExIEBACiAgICAgIklkIjogIktyaXRhIFFJbWFnZUlPIEV4cG9y dCBGaWx0ZXIiLAogICAgICJOb0Rpc3BsYXkiOiAidHJ1ZSIsCiAgICAgIlR5cGUiOiAiU2Vydmlj ZSIsCi0gICAgIlgtS0RFLUV4cG9ydCI6ICJpbWFnZS9ibXAsaW1hZ2UveC14cGl4bWFwLGltYWdl L3gteGJpdG1hcCxpbWFnZS93ZWJwLGltYWdlL3ZuZC5taWNyb3NvZnQuaWNvbixpbWFnZS94LXBv cnRhYmxlLXBpeG1hcCxpbWFnZS94LXBvcnRhYmxlLWdyYXltYXAsaW1hZ2UveC1wb3J0YWJsZS1i aXRtYXAiLAorICAgICJYLUtERS1FeHBvcnQiOiAiaW1hZ2UvYm1wLGltYWdlL3gteHBpeG1hcCxp bWFnZS94LXhiaXRtYXAsaW1hZ2Uvdm5kLm1pY3Jvc29mdC5pY29uLGltYWdlL3gtcG9ydGFibGUt cGl4bWFwLGltYWdlL3gtcG9ydGFibGUtZ3JheW1hcCxpbWFnZS94LXBvcnRhYmxlLWJpdG1hcCIs CiAgICAgIlgtS0RFLUxpYnJhcnkiOiAia3JpdGFxaW1hZ2Vpb2V4cG9ydCIsCiAgICAgIlgtS0RF LVNlcnZpY2VUeXBlcyI6IFsKICAgICAgICAgIktyaXRhL0ZpbGVGaWx0ZXIiCiAgICAgXSwKICAg ICAiWC1LREUtV2VpZ2h0IjogIjEiLAotICAgICJYLUtERS1FeHRlbnNpb25zIiA6ICJibXAseHBt LHhibSxpY28sd2VicCxwcG0iCisgICAgIlgtS0RFLUV4dGVuc2lvbnMiIDogImJtcCx4cG0seGJt LGljbyxwcG0iCiB9CmRpZmYgLS1naXQgYS9wbHVnaW5zL2ltcGV4L3FpbWFnZWlvL2tyaXRhX3Fp bWFnZWlvX2ltcG9ydC5qc29uIGIvcGx1Z2lucy9pbXBleC9xaW1hZ2Vpby9rcml0YV9xaW1hZ2Vp b19pbXBvcnQuanNvbgppbmRleCA5ZmU2Y2Q5MDhmLi40ZmEzNThiNjQwIDEwMDY0NAotLS0gYS9w bHVnaW5zL2ltcGV4L3FpbWFnZWlvL2tyaXRhX3FpbWFnZWlvX2ltcG9ydC5qc29uCisrKyBiL3Bs dWdpbnMvaW1wZXgvcWltYWdlaW8va3JpdGFfcWltYWdlaW9faW1wb3J0Lmpzb24KQEAgLTIsMTEg KzIsMTEgQEAKICAgICAiSWQiOiAiS3JpdGEgUUltYWdlSU8gSW1wb3J0IEZpbHRlciIsCiAgICAg Ik5vRGlzcGxheSI6ICJ0cnVlIiwKICAgICAiVHlwZSI6ICJTZXJ2aWNlIiwKLSAgICAiWC1LREUt SW1wb3J0IjogImltYWdlL2JtcCxpbWFnZS94LXhwaXhtYXAsaW1hZ2UveC14Yml0bWFwLGltYWdl L3dlYnAsaW1hZ2Uvdm5kLm1pY3Jvc29mdC5pY29uLGltYWdlL3gtcG9ydGFibGUtcGl4bWFwLGlt YWdlL3gtcG9ydGFibGUtZ3JheW1hcCxpbWFnZS94LXBvcnRhYmxlLWJpdG1hcCIsCisgICAgIlgt S0RFLUltcG9ydCI6ICJpbWFnZS9ibXAsaW1hZ2UveC14cGl4bWFwLGltYWdlL3gteGJpdG1hcCxp bWFnZS92bmQubWljcm9zb2Z0Lmljb24saW1hZ2UveC1wb3J0YWJsZS1waXhtYXAsaW1hZ2UveC1w b3J0YWJsZS1ncmF5bWFwLGltYWdlL3gtcG9ydGFibGUtYml0bWFwIiwKICAgICAiWC1LREUtTGli cmFyeSI6ICJrcml0YXFpbWFnZWlvaW1wb3J0IiwKICAgICAiWC1LREUtU2VydmljZVR5cGVzIjog WwogICAgICAgICAiS3JpdGEvRmlsZUZpbHRlciIKICAgICBdLAogICAgICJYLUtERS1XZWlnaHQi OiAiMSIsCi0gICAgIlgtS0RFLUV4dGVuc2lvbnMiIDogImJtcCx3ZWJwLHhibSxpY28scHBtIgor ICAgICJYLUtERS1FeHRlbnNpb25zIiA6ICJibXAseGJtLGljbyxwcG0iCiB9CmRpZmYgLS1naXQg YS9wbHVnaW5zL2ltcGV4L3dlYnAvQ01ha2VMaXN0cy50eHQgYi9wbHVnaW5zL2ltcGV4L3dlYnAv Q01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uNmY1 OWQ2NmMzOAotLS0gL2Rldi9udWxsCisrKyBiL3BsdWdpbnMvaW1wZXgvd2VicC9DTWFrZUxpc3Rz LnR4dApAQCAtMCwwICsxLDI3IEBACitpZiAoV2ViUF9GT1VORCkKKyAgICBzZXQoa3JpdGF3ZWJw ZXhwb3J0X1NPVVJDRVMKKyAgICAgICAgZGxnX3dlYnBfZXhwb3J0LmNwcAorICAgICAgICBraXNf d2VicF9leHBvcnQuY3BwCisgICAgKQorICAgIGtpMThuX3dyYXBfdWkoa3JpdGF3ZWJwZXhwb3J0 X1NPVVJDRVMgZGxnX3dlYnBfZXhwb3J0LnVpKQorCisgICAgYWRkX2xpYnJhcnkoa3JpdGF3ZWJw ZXhwb3J0IE1PRFVMRSAke2tyaXRhd2VicGV4cG9ydF9TT1VSQ0VTfSkKKyAgICB0YXJnZXRfaW5j bHVkZV9kaXJlY3Rvcmllcyhrcml0YXdlYnBleHBvcnQgUFJJVkFURSAke1dlYlBfSU5DTFVERV9E SVJTfSkKKyAgICB0YXJnZXRfbGlua19saWJyYXJpZXMoa3JpdGF3ZWJwZXhwb3J0IGtyaXRhdWkg a3JpdGFsaWJrcmEga3JpdGFpbXBleCBXZWJQOjp3ZWJwKQorCisgICAgaW5zdGFsbChUQVJHRVRT IGtyaXRhd2VicGV4cG9ydCAgREVTVElOQVRJT04gJHtLUklUQV9QTFVHSU5fSU5TVEFMTF9ESVJ9 KQorCisKKyAgICBzZXQoa3JpdGF3ZWJwaW1wb3J0X1NPVVJDRVMKKyAgICAgICAgZGxnX3dlYnBf aW1wb3J0LmNwcAorICAgICAgICBraXNfd2VicF9pbXBvcnQuY3BwCisgICAgKQorICAgIGtpMThu X3dyYXBfdWkoa3JpdGF3ZWJwaW1wb3J0X1NPVVJDRVMgZGxnX3dlYnBfaW1wb3J0LnVpKQorCisg ICAgYWRkX2xpYnJhcnkoa3JpdGF3ZWJwaW1wb3J0IE1PRFVMRSAke2tyaXRhd2VicGltcG9ydF9T T1VSQ0VTfSkKKyAgICB0YXJnZXRfaW5jbHVkZV9kaXJlY3Rvcmllcyhrcml0YXdlYnBpbXBvcnQg UFJJVkFURSAke1dlYlBfSU5DTFVERV9ESVJTfSkKKyAgICB0YXJnZXRfbGlua19saWJyYXJpZXMo a3JpdGF3ZWJwaW1wb3J0IGtyaXRhdWkgV2ViUDo6d2VicCkKKworICAgIGluc3RhbGwoVEFSR0VU UyBrcml0YXdlYnBpbXBvcnQgREVTVElOQVRJT04gJHtLUklUQV9QTFVHSU5fSU5TVEFMTF9ESVJ9 KQorICAgIGluc3RhbGwoUFJPR1JBTVMga3JpdGFfd2VicC5kZXNrdG9wIERFU1RJTkFUSU9OICR7 WERHX0FQUFNfSU5TVEFMTF9ESVJ9KQorZW5kaWYoKQpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9pbXBl eC93ZWJwL2RsZ193ZWJwX2V4cG9ydC5jcHAgYi9wbHVnaW5zL2ltcGV4L3dlYnAvZGxnX3dlYnBf ZXhwb3J0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5hNjRhZjI4 ZTM2Ci0tLSAvZGV2L251bGwKKysrIGIvcGx1Z2lucy9pbXBleC93ZWJwL2RsZ193ZWJwX2V4cG9y dC5jcHAKQEAgLTAsMCArMSwxNjYgQEAKKy8qCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBLcml0 YQorICoKKyAqIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IDIwMjEgTC4gRS4gU2Vnb3ZpYSA8YW15 QGFteXNwYXJrLm1lPgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9y LWxhdGVyCisgKi8KKworI2luY2x1ZGUgPHdlYnAvZW5jb2RlLmg+CisKKyNpbmNsdWRlIDxraXNf cHJvcGVydGllc19jb25maWd1cmF0aW9uLmg+CisKKyNpbmNsdWRlICJkbGdfd2VicF9leHBvcnQu aCIKKworS2lzRGxnV2ViUEV4cG9ydDo6S2lzRGxnV2ViUEV4cG9ydChRV2lkZ2V0ICpwYXJlbnQp CisgICAgOiBLaXNDb25maWdXaWRnZXQocGFyZW50KQoreworICAgIHNldHVwVWkodGhpcyk7CisK KyNpZiBXRUJQX0VOQ09ERVJfQUJJX1ZFUlNJT04gPCAweDAyMGYKKyAgICBxTWluLT5zZXRFbmFi bGVkKGZhbHNlKTsKKyAgICBxTWF4LT5zZXRFbmFibGVkKGZhbHNlKTsKKyNlbmRpZgorCisgICAg cHJlc2V0LT5hZGRJdGVtKGkxOG5jKCJXZWJQIHByZXNldHMiLCAiRGVmYXVsdCIpLCBXRUJQX1BS RVNFVF9ERUZBVUxUKTsKKyAgICBwcmVzZXQtPmFkZEl0ZW0oaTE4bmMoIldlYlAgcHJlc2V0cyIs ICJQb3J0cmFpdCIpLCBXRUJQX1BSRVNFVF9QSUNUVVJFKTsKKyAgICBwcmVzZXQtPmFkZEl0ZW0o aTE4bmMoIldlYlAgcHJlc2V0cyIsICJPdXRkb29yIHBob3RvIiksIFdFQlBfUFJFU0VUX1BIT1RP KTsKKyAgICBwcmVzZXQtPmFkZEl0ZW0oaTE4bmMoIldlYlAgcHJlc2V0cyIsICJMaW5lIGRyYXdp bmciKSwgV0VCUF9QUkVTRVRfRFJBV0lORyk7CisgICAgcHJlc2V0LT5hZGRJdGVtKGkxOG5jKCJX ZWJQIHByZXNldHMiLCAiSWNvbiIpLCBXRUJQX1BSRVNFVF9JQ09OKTsKKyAgICBwcmVzZXQtPmFk ZEl0ZW0oaTE4bmMoIldlYlAgcHJlc2V0cyIsICJUZXh0IiksIFdFQlBfUFJFU0VUX1RFWFQpOwor CisgICAgZmlsdGVyVHlwZS0+YWRkSXRlbShpMThuYygiV2ViUCBmaWx0ZXJzIiwgIlNpbXBsZSIp LCAwKTsKKyAgICBmaWx0ZXJUeXBlLT5hZGRJdGVtKGkxOG5jKCJXZWJQIGZpbHRlcnMiLCAiU3Ry b25nIiksIDEpOworCisgICAgYWxwaGFDb21wcmVzc2lvbi0+YWRkSXRlbShpMThuYygiV2ViUCBh bHBoYSBwbGFuZSBjb21wcmVzc2lvbiIsICJOb25lIiksIDApOworICAgIGFscGhhQ29tcHJlc3Np b24tPmFkZEl0ZW0oaTE4bmMoIldlYlAgYWxwaGEgcGxhbmUgY29tcHJlc3Npb24iLCAiTG9zc2xl c3MiKSwgMSk7CisKKyAgICBwcmVwcm9jZXNzaW5nLT5hZGRJdGVtKGkxOG5jKCJXZWJQIHByZXBy b2Nlc3NpbmcgZmlsdGVycyIsICJOb25lIiksIDApOworICAgIHByZXByb2Nlc3NpbmctPmFkZEl0 ZW0oaTE4bmMoIldlYlAgcHJlcHJvY2Vzc2luZyBmaWx0ZXJzIiwgIlNlZ21lbnQtc21vb3RoIiks IDEpOworICAgIHByZXByb2Nlc3NpbmctPmFkZEl0ZW0oaTE4bmMoIldlYlAgcHJlcHJvY2Vzc2lu ZyBmaWx0ZXJzIiwgIlBzZXVkby1yYW5kb20gZGl0aGVyaW5nIiksIDIpOworCisgICAgdGFyZ2V0 UFNOUi0+c2V0RGlzcGxheVVuaXQoZmFsc2UpOworICAgIHRhcmdldFBTTlItPnNldFN1ZmZpeCgi IGRCIik7CisKKyAgICBjb25uZWN0KHByZXNldCwgU0lHTkFMKGN1cnJlbnRJbmRleENoYW5nZWQo aW50KSksIHRoaXMsIFNMT1QoY2hhbmdlUHJlc2V0KHZvaWQpKSk7CisgICAgY29ubmVjdChsb3Nz bGVzcywgU0lHTkFMKHRvZ2dsZWQoYm9vbCkpLCB0aGlzLCBTTE9UKGNoYW5nZVByZXNldCh2b2lk KSkpOworfQorCit2b2lkIEtpc0RsZ1dlYlBFeHBvcnQ6OnNldENvbmZpZ3VyYXRpb24oY29uc3Qg S2lzUHJvcGVydGllc0NvbmZpZ3VyYXRpb25TUCBjZmcpCit7CisgICAgcHJlc2V0LT5zZXRDdXJy ZW50SW5kZXgoY2ZnLT5nZXRJbnQoInByZXNldCIsIDApKTsKKyAgICBsb3NzbGVzcy0+c2V0Q2hl Y2tlZChjZmctPmdldEJvb2woImxvc3NsZXNzIiwgdHJ1ZSkpOworICAgIHF1YWxpdHktPnNldFZh bHVlKGNmZy0+Z2V0RG91YmxlKCJxdWFsaXR5IiwgNzUuMCkpOworICAgIHRyYWRlb2ZmLT5zZXRW YWx1ZShjZmctPmdldEludCgibWV0aG9kIiwgNCkpOworICAgIGRpdGhlcmluZy0+c2V0Q2hlY2tl ZChjZmctPmdldEJvb2woImRpdGhlcmluZyIsIHRydWUpKTsKKworICAgIHRhcmdldFNpemUtPnNl dFZhbHVlKGNmZy0+Z2V0SW50KCJ0YXJnZXRfc2l6ZSIsIDApKTsKKyAgICB0YXJnZXRQU05SLT5z ZXRWYWx1ZShjZmctPmdldERvdWJsZSgidGFyZ2V0X1BTTlIiLCAwLjApKTsKKyAgICBzZWdtZW50 cy0+c2V0VmFsdWUoY2ZnLT5nZXRJbnQoInNlZ21lbnRzIiwgNCkpOworICAgIHNuc1N0cmVuZ3Ro LT5zZXRWYWx1ZShjZmctPmdldEludCgic25zX3N0cmVuZ3RoIiwgNTApKTsKKyAgICBmaWx0ZXJT dHJlbmd0aC0+c2V0VmFsdWUoY2ZnLT5nZXRJbnQoImZpbHRlcl9zdHJlbmd0aCIsIDYwKSk7Cisg ICAgZmlsdGVyU2hhcnBuZXNzLT5zZXRWYWx1ZShjZmctPmdldEludCgiZmlsdGVyX3NoYXJwbmVz cyIsIDApKTsKKyAgICBmaWx0ZXJUeXBlLT5zZXRDdXJyZW50SW5kZXgoY2ZnLT5nZXRJbnQoImZp bHRlcl90eXBlIiwgMSkpOworICAgIGF1dG9maWx0ZXItPnNldENoZWNrZWQoY2ZnLT5nZXRCb29s KCJhdXRvZmlsdGVyIiwgZmFsc2UpKTsKKyAgICBhbHBoYUNvbXByZXNzaW9uLT5zZXRDdXJyZW50 SW5kZXgoY2ZnLT5nZXRJbnQoImFscGhhX2NvbXByZXNzaW9uIiwgMSkpOworICAgIGFscGhhRmls dGVyaW5nLT5zZXRWYWx1ZShjZmctPmdldEludCgiYWxwaGFfZmlsdGVyaW5nIiwgMSkpOworICAg IGFscGhhUXVhbGl0eS0+c2V0VmFsdWUoY2ZnLT5nZXRJbnQoImFscGhhX3F1YWxpdHkiLCAxMDAp KTsKKyAgICBwYXNzLT5zZXRWYWx1ZShjZmctPmdldEludCgicGFzcyIsIDEpKTsKKyAgICBzaG93 Q29tcHJlc3NlZC0+c2V0Q2hlY2tlZChjZmctPmdldEJvb2woInNob3dfY29tcHJlc3NlZCIsIGZh bHNlKSk7CisgICAgcHJlcHJvY2Vzc2luZy0+c2V0Q3VycmVudEluZGV4KGNmZy0+Z2V0SW50KCJw cmVwcm9jZXNzaW5nIiwgMCkpOworICAgIHBhcnRpdGlvbnMtPnNldFZhbHVlKGNmZy0+Z2V0SW50 KCJwYXJ0aXRpb25zIiwgMCkpOworICAgIHBhcnRpdGlvbkxpbWl0LT5zZXRWYWx1ZShjZmctPmdl dEludCgicGFydGl0aW9uX2xpbWl0IiwgMCkpOworICAgIGVtdWxhdGVKUEVHU2l6ZS0+c2V0Q2hl Y2tlZChjZmctPmdldEJvb2woImVtdWxhdGVfanBlZ19zaXplIiwgZmFsc2UpKTsKKyAgICB0aHJl YWRMZXZlbC0+c2V0Q2hlY2tlZChjZmctPmdldEJvb2woInRocmVhZF9sZXZlbCIsIGZhbHNlKSk7 CisgICAgbG93TWVtb3J5LT5zZXRDaGVja2VkKGNmZy0+Z2V0Qm9vbCgibG93X21lbW9yeSIsIGZh bHNlKSk7CisgICAgbmVhckxvc3NsZXNzLT5zZXRWYWx1ZShjZmctPmdldEludCgibmVhcl9sb3Nz bGVzcyIsIDEwMCkpOworICAgIGV4YWN0LT5zZXRDaGVja2VkKGNmZy0+Z2V0Qm9vbCgiZXhhY3Qi LCAwKSk7CisgICAgdXNlU2hhcnBZVVYtPnNldENoZWNrZWQoY2ZnLT5nZXRCb29sKCJ1c2Vfc2hh cnBfeXV2IiwgZmFsc2UpKTsKKyNpZiBXRUJQX0VOQ09ERVJfQUJJX1ZFUlNJT04gPj0gMHgwMjBm CisgICAgcU1pbi0+c2V0VmFsdWUoY2ZnLT5nZXRJbnQoInFtaW4iLCAwKSk7CisgICAgcU1heC0+ c2V0VmFsdWUoY2ZnLT5nZXRJbnQoInFtYXgiLCAxMDApKTsKKyNlbmRpZgorfQorCit2b2lkIEtp c0RsZ1dlYlBFeHBvcnQ6OmNoYW5nZVByZXNldCgpCit7CisgICAgV2ViUENvbmZpZyBwcmVzZXQ7 CisKKyAgICBpZiAoIVdlYlBDb25maWdQcmVzZXQoJnByZXNldCwgc3RhdGljX2Nhc3Q8V2ViUFBy ZXNldD4odGhpcy0+cHJlc2V0LT5jdXJyZW50RGF0YSgpLnZhbHVlPGludD4oKSksIHN0YXRpY19j YXN0PGZsb2F0Pih0aGlzLT5xdWFsaXR5LT52YWx1ZSgpKSkpIHsKKyAgICAgICAgcmV0dXJuOwor ICAgIH0KKworICAgIGlmICh0aGlzLT5sb3NzbGVzcy0+aXNDaGVja2VkKCkgJiYgIVdlYlBDb25m aWdMb3NzbGVzc1ByZXNldCgmcHJlc2V0LCB0aGlzLT50cmFkZW9mZi0+dmFsdWUoKSkpIHsKKyAg ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHF1YWxpdHktPnNldFZhbHVlKHN0YXRpY19jYXN0 PGRvdWJsZT4ocHJlc2V0LnF1YWxpdHkpKTsKKyAgICB0cmFkZW9mZi0+c2V0VmFsdWUocHJlc2V0 Lm1ldGhvZCk7CisKKyAgICB0YXJnZXRTaXplLT5zZXRWYWx1ZShwcmVzZXQudGFyZ2V0X3NpemUp OworICAgIHRhcmdldFBTTlItPnNldFZhbHVlKHN0YXRpY19jYXN0PGRvdWJsZT4ocHJlc2V0LnRh cmdldF9QU05SKSk7CisgICAgc2VnbWVudHMtPnNldFZhbHVlKHByZXNldC5zZWdtZW50cyk7Cisg ICAgc25zU3RyZW5ndGgtPnNldFZhbHVlKHByZXNldC5zbnNfc3RyZW5ndGgpOworICAgIGZpbHRl clN0cmVuZ3RoLT5zZXRWYWx1ZShwcmVzZXQuZmlsdGVyX3N0cmVuZ3RoKTsKKyAgICBmaWx0ZXJT aGFycG5lc3MtPnNldFZhbHVlKHByZXNldC5maWx0ZXJfc2hhcnBuZXNzKTsKKyAgICBmaWx0ZXJU eXBlLT5zZXRDdXJyZW50SW5kZXgocHJlc2V0LmZpbHRlcl90eXBlKTsKKyAgICBhdXRvZmlsdGVy LT5zZXRDaGVja2VkKHByZXNldC5hdXRvZmlsdGVyID09IDEpOworICAgIGFscGhhQ29tcHJlc3Np b24tPnNldEN1cnJlbnRJbmRleChhbHBoYUNvbXByZXNzaW9uLT5maW5kRGF0YShwcmVzZXQuYWxw aGFfY29tcHJlc3Npb24pKTsKKyAgICBhbHBoYUZpbHRlcmluZy0+c2V0VmFsdWUocHJlc2V0LmFs cGhhX2ZpbHRlcmluZyk7CisgICAgYWxwaGFRdWFsaXR5LT5zZXRWYWx1ZShwcmVzZXQuYWxwaGFf cXVhbGl0eSk7CisgICAgcGFzcy0+c2V0VmFsdWUocHJlc2V0LnBhc3MpOworICAgIHNob3dDb21w cmVzc2VkLT5zZXRDaGVja2VkKHByZXNldC5zaG93X2NvbXByZXNzZWQgPT0gMSk7CisgICAgcHJl cHJvY2Vzc2luZy0+c2V0Q3VycmVudEluZGV4KHByZXByb2Nlc3NpbmctPmZpbmREYXRhKHByZXNl dC5wcmVwcm9jZXNzaW5nKSk7CisgICAgcGFydGl0aW9ucy0+c2V0VmFsdWUocHJlc2V0LnBhcnRp dGlvbnMpOworICAgIHBhcnRpdGlvbkxpbWl0LT5zZXRWYWx1ZShwcmVzZXQucGFydGl0aW9uX2xp bWl0KTsKKyAgICBlbXVsYXRlSlBFR1NpemUtPnNldENoZWNrZWQocHJlc2V0LmVtdWxhdGVfanBl Z19zaXplID09IDEpOworICAgIHRocmVhZExldmVsLT5zZXRDaGVja2VkKHByZXNldC50aHJlYWRf bGV2ZWwgPiAwKTsKKyAgICBsb3dNZW1vcnktPnNldENoZWNrZWQocHJlc2V0Lmxvd19tZW1vcnkg PT0gMSk7CisgICAgbmVhckxvc3NsZXNzLT5zZXRWYWx1ZShwcmVzZXQubmVhcl9sb3NzbGVzcyk7 CisgICAgZXhhY3QtPnNldENoZWNrZWQocHJlc2V0LmV4YWN0ID09IDEpOworICAgIHVzZVNoYXJw WVVWLT5zZXRDaGVja2VkKHByZXNldC51c2Vfc2hhcnBfeXV2KTsKKyNpZiBXRUJQX0VOQ09ERVJf QUJJX1ZFUlNJT04gPj0gMHgwMjBmCisgICAgcU1pbi0+c2V0VmFsdWUocHJlc2V0LnFtaW4pOwor ICAgIHFNYXgtPnNldFZhbHVlKHByZXNldC5xbWF4KTsKKyNlbmRpZgorfQorCitLaXNQcm9wZXJ0 aWVzQ29uZmlndXJhdGlvblNQIEtpc0RsZ1dlYlBFeHBvcnQ6OmNvbmZpZ3VyYXRpb24oKSBjb25z dAoreworICAgIEtpc1Byb3BlcnRpZXNDb25maWd1cmF0aW9uU1AgY2ZnKG5ldyBLaXNQcm9wZXJ0 aWVzQ29uZmlndXJhdGlvbigpKTsKKworICAgIGNmZy0+c2V0UHJvcGVydHkoInByZXNldCIsIHBy ZXNldC0+Y3VycmVudEluZGV4KCkpOworICAgIGNmZy0+c2V0UHJvcGVydHkoImxvc3NsZXNzIiwg bG9zc2xlc3MtPmlzQ2hlY2tlZCgpKTsKKyAgICBjZmctPnNldFByb3BlcnR5KCJxdWFsaXR5Iiwg cXVhbGl0eS0+dmFsdWUoKSk7CisgICAgY2ZnLT5zZXRQcm9wZXJ0eSgibWV0aG9kIiwgdHJhZGVv ZmYtPnZhbHVlKCkpOworICAgIGNmZy0+c2V0UHJvcGVydHkoImRpdGhlcmluZyIsIGRpdGhlcmlu Zy0+aXNDaGVja2VkKCkpOworCisgICAgY2ZnLT5zZXRQcm9wZXJ0eSgidGFyZ2V0X3NpemUiLCB0 YXJnZXRTaXplLT52YWx1ZSgpKTsKKyAgICBjZmctPnNldFByb3BlcnR5KCJ0YXJnZXRfUFNOUiIs IHRhcmdldFBTTlItPnZhbHVlKCkpOworICAgIGNmZy0+c2V0UHJvcGVydHkoInNlZ21lbnRzIiwg c2VnbWVudHMtPnZhbHVlKCkpOworICAgIGNmZy0+c2V0UHJvcGVydHkoInNuc19zdHJlbmd0aCIs IHNuc1N0cmVuZ3RoLT52YWx1ZSgpKTsKKyAgICBjZmctPnNldFByb3BlcnR5KCJmaWx0ZXJfc3Ry ZW5ndGgiLCBmaWx0ZXJTdHJlbmd0aC0+dmFsdWUoKSk7CisgICAgY2ZnLT5zZXRQcm9wZXJ0eSgi ZmlsdGVyX3NoYXJwbmVzcyIsIGZpbHRlclNoYXJwbmVzcy0+dmFsdWUoKSk7CisgICAgY2ZnLT5z ZXRQcm9wZXJ0eSgiZmlsdGVyX3R5cGUiLCBmaWx0ZXJUeXBlLT5jdXJyZW50RGF0YSgpLnZhbHVl PGludD4oKSk7CisgICAgY2ZnLT5zZXRQcm9wZXJ0eSgiYXV0b2ZpbHRlciIsIGF1dG9maWx0ZXIt PmlzQ2hlY2tlZCgpKTsKKyAgICBjZmctPnNldFByb3BlcnR5KCJhbHBoYV9jb21wcmVzc2lvbiIs IGFscGhhQ29tcHJlc3Npb24tPmN1cnJlbnREYXRhKCkudmFsdWU8aW50PigpKTsKKyAgICBjZmct PnNldFByb3BlcnR5KCJhbHBoYV9maWx0ZXJpbmciLCBhbHBoYUZpbHRlcmluZy0+dmFsdWUoKSk7 CisgICAgY2ZnLT5zZXRQcm9wZXJ0eSgiYWxwaGFfcXVhbGl0eSIsIGFscGhhUXVhbGl0eS0+dmFs dWUoKSk7CisgICAgY2ZnLT5zZXRQcm9wZXJ0eSgicGFzcyIsIHBhc3MtPnZhbHVlKCkpOworICAg IGNmZy0+c2V0UHJvcGVydHkoInNob3dfY29tcHJlc3NlZCIsIHNob3dDb21wcmVzc2VkLT5pc0No ZWNrZWQoKSk7CisgICAgY2ZnLT5zZXRQcm9wZXJ0eSgicHJlcHJvY2Vzc2luZyIsIHByZXByb2Nl c3NpbmctPmN1cnJlbnREYXRhKCkudmFsdWU8aW50PigpKTsKKyAgICBjZmctPnNldFByb3BlcnR5 KCJwYXJ0aXRpb25zIiwgcGFydGl0aW9ucy0+dmFsdWUoKSk7CisgICAgY2ZnLT5zZXRQcm9wZXJ0 eSgicGFydGl0aW9uX2xpbWl0IiwgcGFydGl0aW9uTGltaXQtPnZhbHVlKCkpOworICAgIGNmZy0+ c2V0UHJvcGVydHkoImVtdWxhdGVfanBlZ19zaXplIiwgZW11bGF0ZUpQRUdTaXplLT5pc0NoZWNr ZWQoKSk7CisgICAgY2ZnLT5zZXRQcm9wZXJ0eSgidGhyZWFkX2xldmVsIiwgdGhyZWFkTGV2ZWwt PmlzQ2hlY2tlZCgpKTsKKyAgICBjZmctPnNldFByb3BlcnR5KCJsb3dfbWVtb3J5IiwgbG93TWVt b3J5LT5pc0NoZWNrZWQoKSk7CisgICAgY2ZnLT5zZXRQcm9wZXJ0eSgibmVhcl9sb3NzbGVzcyIs IG5lYXJMb3NzbGVzcy0+dmFsdWUoKSk7CisgICAgY2ZnLT5zZXRQcm9wZXJ0eSgiZXhhY3QiLCBl eGFjdC0+aXNDaGVja2VkKCkpOworICAgIGNmZy0+c2V0UHJvcGVydHkoInVzZV9zaGFycF95dXYi LCB1c2VTaGFycFlVVi0+aXNDaGVja2VkKCkpOworI2lmIFdFQlBfRU5DT0RFUl9BQklfVkVSU0lP TiA+PSAweDAyMGYKKyAgICBjZmctPnNldFByb3BlcnR5KCJxbWluIiwgcU1pbi0+dmFsdWUoKSk7 CisgICAgY2ZnLT5zZXRQcm9wZXJ0eSgicW1heCIsIHFNYXgtPnZhbHVlKCkpOworI2VuZGlmCisK KyAgICByZXR1cm4gY2ZnOworfQpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9pbXBleC93ZWJwL2RsZ193 ZWJwX2V4cG9ydC5oIGIvcGx1Z2lucy9pbXBleC93ZWJwL2RsZ193ZWJwX2V4cG9ydC5oCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjE4NDRkNjE4MWYKLS0tIC9kZXYvbnVs bAorKysgYi9wbHVnaW5zL2ltcGV4L3dlYnAvZGxnX3dlYnBfZXhwb3J0LmgKQEAgLTAsMCArMSwy OCBAQAorLyoKKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEtyaXRhCisgKgorICogU1BEWC1GaWxl Q29weXJpZ2h0VGV4dDogMjAyMSBMLiBFLiBTZWdvdmlhIDxhbXlAYW15c3BhcmsubWU+CisgKgor ICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKKyAqLworCisjaWZu ZGVmIERMR19XRUJQX0VYUE9SVF9ICisjZGVmaW5lIERMR19XRUJQX0VYUE9SVF9ICisKKyNpbmNs dWRlIDxraXNfY29uZmlnX3dpZGdldC5oPgorCisjaW5jbHVkZSAidWlfZGxnX3dlYnBfZXhwb3J0 LmgiCisKK2NsYXNzIEtpc0RsZ1dlYlBFeHBvcnQgOiBwdWJsaWMgS2lzQ29uZmlnV2lkZ2V0LCBw dWJsaWMgVWk6OkRsZ1dlYlBFeHBvcnQKK3sKKyAgICBRX09CSkVDVAorCitwdWJsaWM6CisgICAg S2lzRGxnV2ViUEV4cG9ydChRV2lkZ2V0ICpwYXJlbnQpOworICAgIHZvaWQgc2V0Q29uZmlndXJh dGlvbihjb25zdCBLaXNQcm9wZXJ0aWVzQ29uZmlndXJhdGlvblNQIGNmZykgb3ZlcnJpZGU7Cisg ICAgS2lzUHJvcGVydGllc0NvbmZpZ3VyYXRpb25TUCBjb25maWd1cmF0aW9uKCkgY29uc3Qgb3Zl cnJpZGU7Citwcml2YXRlIFFfU0xPVFM6CisgICAgdm9pZCBjaGFuZ2VQcmVzZXQoKTsKK307CisK KyNlbmRpZiAvLyBETEdfV0VCUF9FWFBPUlRfSApkaWZmIC0tZ2l0IGEvcGx1Z2lucy9pbXBleC93 ZWJwL2RsZ193ZWJwX2V4cG9ydC51aSBiL3BsdWdpbnMvaW1wZXgvd2VicC9kbGdfd2VicF9leHBv cnQudWkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMmE4MjQ0MDQ5OAot LS0gL2Rldi9udWxsCisrKyBiL3BsdWdpbnMvaW1wZXgvd2VicC9kbGdfd2VicF9leHBvcnQudWkK QEAgLTAsMCArMSw4MjIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+ Cis8dWkgdmVyc2lvbj0iNC4wIj4KKyA8YXV0aG9yPgorICBTUERYLUZpbGVDb3B5cmlnaHRUZXh0 OiAyMDIxIEwuIEUuIFNlZ292aWEgJmx0O2FteUBhbXlzcGFyay5tZSZndDsKKyAgU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEdQTC0zLjAtb3ItbGF0ZXIKKyA8L2F1dGhvcj4KKyA8Y2xhc3M+RGxn V2ViUEV4cG9ydDwvY2xhc3M+CisgPHdpZGdldCBjbGFzcz0iUVdpZGdldCIgbmFtZT0iRGxnV2Vi UEV4cG9ydCI+CisgIDxwcm9wZXJ0eSBuYW1lPSJnZW9tZXRyeSI+CisgICA8cmVjdD4KKyAgICA8 eD4wPC94PgorICAgIDx5PjA8L3k+CisgICAgPHdpZHRoPjU1Nzwvd2lkdGg+CisgICAgPGhlaWdo dD41Mjk8L2hlaWdodD4KKyAgIDwvcmVjdD4KKyAgPC9wcm9wZXJ0eT4KKyAgPHByb3BlcnR5IG5h bWU9InNpemVQb2xpY3kiPgorICAgPHNpemVwb2xpY3kgaHNpemV0eXBlPSJNaW5pbXVtRXhwYW5k aW5nIiB2c2l6ZXR5cGU9Ik1pbmltdW1FeHBhbmRpbmciPgorICAgIDxob3JzdHJldGNoPjA8L2hv cnN0cmV0Y2g+CisgICAgPHZlcnN0cmV0Y2g+MDwvdmVyc3RyZXRjaD4KKyAgIDwvc2l6ZXBvbGlj eT4KKyAgPC9wcm9wZXJ0eT4KKyAgPGxheW91dCBjbGFzcz0iUVZCb3hMYXlvdXQiIG5hbWU9InZl cnRpY2FsTGF5b3V0Ij4KKyAgIDxpdGVtPgorICAgIDx3aWRnZXQgY2xhc3M9IlFUYWJXaWRnZXQi IG5hbWU9InRhYldpZGdldCI+CisgICAgIDxwcm9wZXJ0eSBuYW1lPSJjdXJyZW50SW5kZXgiPgor ICAgICAgPG51bWJlcj4wPC9udW1iZXI+CisgICAgIDwvcHJvcGVydHk+CisgICAgIDx3aWRnZXQg Y2xhc3M9IlFXaWRnZXQiIG5hbWU9ImdlbmVyYWwiPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJ0 aXRsZSI+CisgICAgICAgPHN0cmluZz5HZW5lcmFsPC9zdHJpbmc+CisgICAgICA8L2F0dHJpYnV0 ZT4KKyAgICAgIDxsYXlvdXQgY2xhc3M9IlFGb3JtTGF5b3V0IiBuYW1lPSJmb3JtTGF5b3V0Ij4K KyAgICAgICA8cHJvcGVydHkgbmFtZT0iZm9ybUFsaWdubWVudCI+CisgICAgICAgIDxzZXQ+UXQ6 OkFsaWduTGVhZGluZ3xRdDo6QWxpZ25MZWZ0fFF0OjpBbGlnblRvcDwvc2V0PgorICAgICAgIDwv cHJvcGVydHk+CisgICAgICAgPGl0ZW0gcm93PSIwIiBjb2x1bW49IjAiPgorICAgICAgICA8d2lk Z2V0IGNsYXNzPSJRTGFiZWwiIG5hbWU9ImxibFByZXNldCI+CisgICAgICAgICA8cHJvcGVydHkg bmFtZT0idGV4dCI+CisgICAgICAgICAgPHN0cmluZz5QcmVzZXQ8L3N0cmluZz4KKyAgICAgICAg IDwvcHJvcGVydHk+CisgICAgICAgIDwvd2lkZ2V0PgorICAgICAgIDwvaXRlbT4KKyAgICAgICA8 aXRlbSByb3c9IjAiIGNvbHVtbj0iMSI+CisgICAgICAgIDx3aWRnZXQgY2xhc3M9IlFDb21ib0Jv eCIgbmFtZT0icHJlc2V0Ii8+CisgICAgICAgPC9pdGVtPgorICAgICAgIDxpdGVtIHJvdz0iMSIg Y29sdW1uPSIwIj4KKyAgICAgICAgPHdpZGdldCBjbGFzcz0iUUxhYmVsIiBuYW1lPSJsYmxMb3Nz bGVzcyI+CisgICAgICAgICA8cHJvcGVydHkgbmFtZT0idGV4dCI+CisgICAgICAgICAgPHN0cmlu Zz5Mb3NzbGVzcyBjb21wcmVzc2lvbjwvc3RyaW5nPgorICAgICAgICAgPC9wcm9wZXJ0eT4KKyAg ICAgICAgPC93aWRnZXQ+CisgICAgICAgPC9pdGVtPgorICAgICAgIDxpdGVtIHJvdz0iMSIgY29s dW1uPSIxIj4KKyAgICAgICAgPHdpZGdldCBjbGFzcz0iUUNoZWNrQm94IiBuYW1lPSJsb3NzbGVz cyI+CisgICAgICAgICA8cHJvcGVydHkgbmFtZT0idGV4dCI+CisgICAgICAgICAgPHN0cmluZz5F bmFibGVkPC9zdHJpbmc+CisgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICA8L3dpZGdldD4K KyAgICAgICA8L2l0ZW0+CisgICAgICAgPGl0ZW0gcm93PSIyIiBjb2x1bW49IjAiPgorICAgICAg ICA8d2lkZ2V0IGNsYXNzPSJRTGFiZWwiIG5hbWU9ImxibFF1YWxpdHkiPgorICAgICAgICAgPHBy b3BlcnR5IG5hbWU9InRvb2xUaXAiPgorICAgICAgICAgIDxzdHJpbmc+SWYgTG9zc2xlc3MgaXMg ZW5hYmxlZDogMCA9IGZhc3Rlc3QgYnV0IGxhcmdlciBmaWxlcywgMTAwID0gc2xvd2VyIGJ1dCBi ZXR0ZXIuIElmIExvc3NsZXNzIGlzIGRpc2FibGVkOiAwID0gc21hbGxlc3Qgc2l6ZSwgMTAwID0g bGFyZ2VzdCBzaXplLjwvc3RyaW5nPgorICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgIDxw cm9wZXJ0eSBuYW1lPSJ0ZXh0Ij4KKyAgICAgICAgICA8c3RyaW5nPlF1YWxpdHk8L3N0cmluZz4K KyAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgIDwvd2lkZ2V0PgorICAgICAgIDwvaXRlbT4K KyAgICAgICA8aXRlbSByb3c9IjIiIGNvbHVtbj0iMSI+CisgICAgICAgIDx3aWRnZXQgY2xhc3M9 Iktpc0RvdWJsZVNsaWRlclNwaW5Cb3giIG5hbWU9InF1YWxpdHkiPgorICAgICAgICAgPHByb3Bl cnR5IG5hbWU9InRvb2xUaXAiPgorICAgICAgICAgIDxzdHJpbmc+SWYgTG9zc2xlc3MgaXMgZW5h YmxlZDogMCA9IGZhc3Rlc3QgYnV0IGxhcmdlciBmaWxlcywgMTAwID0gc2xvd2VyIGJ1dCBiZXR0 ZXIuIElmIExvc3NsZXNzIGlzIGRpc2FibGVkOiAwID0gc21hbGxlc3Qgc2l6ZSwgMTAwID0gbGFy Z2VzdCBzaXplLjwvc3RyaW5nPgorICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJzdWZmaXgiPgorICAgICAgICAgIDxzdHJpbmc+JTwvc3RyaW5nPgorICAgICAg ICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJtYXhpbXVtIj4KKyAgICAg ICAgICA8bnVtYmVyPjEwMDwvbnVtYmVyPgorICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAg IDxwcm9wZXJ0eSBuYW1lPSJ2YWx1ZSI+CisgICAgICAgICAgPG51bWJlcj4xMDA8L251bWJlcj4K KyAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgIDwvd2lkZ2V0PgorICAgICAgIDwvaXRlbT4K KyAgICAgICA8aXRlbSByb3c9IjMiIGNvbHVtbj0iMCI+CisgICAgICAgIDx3aWRnZXQgY2xhc3M9 IlFMYWJlbCIgbmFtZT0ibGJsVHJhZGVvZmYiPgorICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRl eHQiPgorICAgICAgICAgIDxzdHJpbmc+VHJhZGVvZmY8L3N0cmluZz4KKyAgICAgICAgIDwvcHJv cGVydHk+CisgICAgICAgIDwvd2lkZ2V0PgorICAgICAgIDwvaXRlbT4KKyAgICAgICA8aXRlbSBy b3c9IjMiIGNvbHVtbj0iMSI+CisgICAgICAgIDxsYXlvdXQgY2xhc3M9IlFHcmlkTGF5b3V0IiBu YW1lPSJncmlkTGF5b3V0XzMiPgorICAgICAgICAgPGl0ZW0gcm93PSIwIiBjb2x1bW49IjAiPgor ICAgICAgICAgIDx3aWRnZXQgY2xhc3M9IlFMYWJlbCIgbmFtZT0ibGJsRmFzdGVyIj4KKyAgICAg ICAgICAgPHByb3BlcnR5IG5hbWU9InRleHQiPgorICAgICAgICAgICAgPHN0cmluZz5GYXN0ZXI8 L3N0cmluZz4KKyAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICA8L3dpZGdldD4KKyAg ICAgICAgIDwvaXRlbT4KKyAgICAgICAgIDxpdGVtIHJvdz0iMCIgY29sdW1uPSIxIj4KKyAgICAg ICAgICA8d2lkZ2V0IGNsYXNzPSJRTGFiZWwiIG5hbWU9ImxibFNsb3dlckJldHRlciI+CisgICAg ICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0ZXh0Ij4KKyAgICAgICAgICAgIDxzdHJpbmc+U2xvd2Vy L0JldHRlcjwvc3RyaW5nPgorICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICA8cHJv cGVydHkgbmFtZT0iYWxpZ25tZW50Ij4KKyAgICAgICAgICAgIDxzZXQ+UXQ6OkFsaWduUmlnaHR8 UXQ6OkFsaWduVHJhaWxpbmd8UXQ6OkFsaWduVkNlbnRlcjwvc2V0PgorICAgICAgICAgICA8L3By b3BlcnR5PgorICAgICAgICAgIDwvd2lkZ2V0PgorICAgICAgICAgPC9pdGVtPgorICAgICAgICAg PGl0ZW0gcm93PSIxIiBjb2x1bW49IjAiIGNvbHNwYW49IjIiPgorICAgICAgICAgIDx3aWRnZXQg Y2xhc3M9Iktpc1NsaWRlclNwaW5Cb3giIG5hbWU9InRyYWRlb2ZmIj4KKyAgICAgICAgICAgPHBy b3BlcnR5IG5hbWU9Im1heGltdW0iPgorICAgICAgICAgICAgPG51bWJlcj42PC9udW1iZXI+Cisg ICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ2YWx1ZSI+ CisgICAgICAgICAgICA8bnVtYmVyPjM8L251bWJlcj4KKyAgICAgICAgICAgPC9wcm9wZXJ0eT4K KyAgICAgICAgICA8L3dpZGdldD4KKyAgICAgICAgIDwvaXRlbT4KKyAgICAgICAgPC9sYXlvdXQ+ CisgICAgICAgPC9pdGVtPgorICAgICAgIDxpdGVtIHJvdz0iNCIgY29sdW1uPSIwIj4KKyAgICAg ICAgPHdpZGdldCBjbGFzcz0iUUxhYmVsIiBuYW1lPSJsYmxEaXRoZXJpbmciPgorICAgICAgICAg PHByb3BlcnR5IG5hbWU9InRleHQiPgorICAgICAgICAgIDxzdHJpbmc+RGl0aGVyaW5nPC9zdHJp bmc+CisgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICA8L3dpZGdldD4KKyAgICAgICA8L2l0 ZW0+CisgICAgICAgPGl0ZW0gcm93PSI0IiBjb2x1bW49IjEiPgorICAgICAgICA8d2lkZ2V0IGNs YXNzPSJRQ2hlY2tCb3giIG5hbWU9ImRpdGhlcmluZyI+CisgICAgICAgICA8cHJvcGVydHkgbmFt ZT0idGV4dCI+CisgICAgICAgICAgPHN0cmluZz5FbmFibGVkPC9zdHJpbmc+CisgICAgICAgICA8 L3Byb3BlcnR5PgorICAgICAgICA8L3dpZGdldD4KKyAgICAgICA8L2l0ZW0+CisgICAgICA8L2xh eW91dD4KKyAgICAgPC93aWRnZXQ+CisgICAgIDx3aWRnZXQgY2xhc3M9IlFXaWRnZXQiIG5hbWU9 ImFkdmFuY2VkIj4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0idGl0bGUiPgorICAgICAgIDxzdHJp bmc+QWR2YW5jZWQ8L3N0cmluZz4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgICAgPGxheW91dCBj bGFzcz0iUVZCb3hMYXlvdXQiIG5hbWU9InZlcnRpY2FsTGF5b3V0XzMiPgorICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJsZWZ0TWFyZ2luIj4KKyAgICAgICAgPG51bWJlcj4wPC9udW1iZXI+CisgICAg ICAgPC9wcm9wZXJ0eT4KKyAgICAgICA8cHJvcGVydHkgbmFtZT0idG9wTWFyZ2luIj4KKyAgICAg ICAgPG51bWJlcj4wPC9udW1iZXI+CisgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICA8cHJvcGVy dHkgbmFtZT0icmlnaHRNYXJnaW4iPgorICAgICAgICA8bnVtYmVyPjA8L251bWJlcj4KKyAgICAg ICA8L3Byb3BlcnR5PgorICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJib3R0b21NYXJnaW4iPgorICAg ICAgICA8bnVtYmVyPjA8L251bWJlcj4KKyAgICAgICA8L3Byb3BlcnR5PgorICAgICAgIDxpdGVt PgorICAgICAgICA8d2lkZ2V0IGNsYXNzPSJRU2Nyb2xsQXJlYSIgbmFtZT0ic2Nyb2xsQXJlYSI+ CisgICAgICAgICA8cHJvcGVydHkgbmFtZT0ic2l6ZVBvbGljeSI+CisgICAgICAgICAgPHNpemVw b2xpY3kgaHNpemV0eXBlPSJNaW5pbXVtRXhwYW5kaW5nIiB2c2l6ZXR5cGU9Ik1pbmltdW1FeHBh bmRpbmciPgorICAgICAgICAgICA8aG9yc3RyZXRjaD4wPC9ob3JzdHJldGNoPgorICAgICAgICAg ICA8dmVyc3RyZXRjaD4wPC92ZXJzdHJldGNoPgorICAgICAgICAgIDwvc2l6ZXBvbGljeT4KKyAg ICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibWluaW11bVNpemUi PgorICAgICAgICAgIDxzaXplPgorICAgICAgICAgICA8d2lkdGg+NTM1PC93aWR0aD4KKyAgICAg ICAgICAgPGhlaWdodD40NzY8L2hlaWdodD4KKyAgICAgICAgICA8L3NpemU+CisgICAgICAgICA8 L3Byb3BlcnR5PgorICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImZyYW1lU2hhcGUiPgorICAgICAg ICAgIDxlbnVtPlFGcmFtZTo6Tm9GcmFtZTwvZW51bT4KKyAgICAgICAgIDwvcHJvcGVydHk+Cisg ICAgICAgICA8cHJvcGVydHkgbmFtZT0iZnJhbWVTaGFkb3ciPgorICAgICAgICAgIDxlbnVtPlFG cmFtZTo6UGxhaW48L2VudW0+CisgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgPHByb3Bl cnR5IG5hbWU9Imhvcml6b250YWxTY3JvbGxCYXJQb2xpY3kiPgorICAgICAgICAgIDxlbnVtPlF0 OjpTY3JvbGxCYXJBbHdheXNPZmY8L2VudW0+CisgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAg ICAgPHByb3BlcnR5IG5hbWU9InNpemVBZGp1c3RQb2xpY3kiPgorICAgICAgICAgIDxlbnVtPlFB YnN0cmFjdFNjcm9sbEFyZWE6OkFkanVzdFRvQ29udGVudHM8L2VudW0+CisgICAgICAgICA8L3By b3BlcnR5PgorICAgICAgICAgPHByb3BlcnR5IG5hbWU9IndpZGdldFJlc2l6YWJsZSI+CisgICAg ICAgICAgPGJvb2w+dHJ1ZTwvYm9vbD4KKyAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICA8 cHJvcGVydHkgbmFtZT0iYWxpZ25tZW50Ij4KKyAgICAgICAgICA8c2V0PlF0OjpBbGlnbkhDZW50 ZXJ8UXQ6OkFsaWduVG9wPC9zZXQ+CisgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgPHdp ZGdldCBjbGFzcz0iUVdpZGdldCIgbmFtZT0ic2Nyb2xsQXJlYVdpZGdldENvbnRlbnRzIj4KKyAg ICAgICAgICA8cHJvcGVydHkgbmFtZT0iZ2VvbWV0cnkiPgorICAgICAgICAgICA8cmVjdD4KKyAg ICAgICAgICAgIDx4PjA8L3g+CisgICAgICAgICAgICA8eT4wPC95PgorICAgICAgICAgICAgPHdp ZHRoPjUyMTwvd2lkdGg+CisgICAgICAgICAgICA8aGVpZ2h0Pjg1ODwvaGVpZ2h0PgorICAgICAg ICAgICA8L3JlY3Q+CisgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICA8cHJvcGVydHkg bmFtZT0ic2l6ZVBvbGljeSI+CisgICAgICAgICAgIDxzaXplcG9saWN5IGhzaXpldHlwZT0iTWlu aW11bUV4cGFuZGluZyIgdnNpemV0eXBlPSJNaW5pbXVtRXhwYW5kaW5nIj4KKyAgICAgICAgICAg IDxob3JzdHJldGNoPjA8L2hvcnN0cmV0Y2g+CisgICAgICAgICAgICA8dmVyc3RyZXRjaD4wPC92 ZXJzdHJldGNoPgorICAgICAgICAgICA8L3NpemVwb2xpY3k+CisgICAgICAgICAgPC9wcm9wZXJ0 eT4KKyAgICAgICAgICA8bGF5b3V0IGNsYXNzPSJRRm9ybUxheW91dCIgbmFtZT0iZm9ybUxheW91 dF8yIj4KKyAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImZvcm1BbGlnbm1lbnQiPgorICAgICAg ICAgICAgPHNldD5RdDo6QWxpZ25MZWFkaW5nfFF0OjpBbGlnbkxlZnR8UXQ6OkFsaWduVkNlbnRl cjwvc2V0PgorICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICA8aXRlbSByb3c9IjAi IGNvbHVtbj0iMCI+CisgICAgICAgICAgICA8d2lkZ2V0IGNsYXNzPSJRTGFiZWwiIG5hbWU9Imxi bFRhcmdldFNpemUiPgorICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b29sVGlwIj4KKyAg ICAgICAgICAgICAgPHN0cmluZz5JZiBub24temVybywgc2V0cyB0aGUgZGVzaXJlZCB0YXJnZXQg c2l6ZSBpbiBieXRlcy4gVGFrZXMgcHJlY2VkZW5jZSBvdmVyIHRoZSBjb21wcmVzc2lvbiBwYXJh bWV0ZXJzLjwvc3RyaW5nPgorICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICAg PHByb3BlcnR5IG5hbWU9InRleHQiPgorICAgICAgICAgICAgICA8c3RyaW5nPlRhcmdldCBTaXpl PC9zdHJpbmc+CisgICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgIDwvd2lkZ2V0 PgorICAgICAgICAgICA8L2l0ZW0+CisgICAgICAgICAgIDxpdGVtIHJvdz0iMCIgY29sdW1uPSIx Ij4KKyAgICAgICAgICAgIDx3aWRnZXQgY2xhc3M9IlFTcGluQm94IiBuYW1lPSJ0YXJnZXRTaXpl Ij4KKyAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ic2l6ZVBvbGljeSI+CisgICAgICAgICAg ICAgIDxzaXplcG9saWN5IGhzaXpldHlwZT0iUHJlZmVycmVkIiB2c2l6ZXR5cGU9IkZpeGVkIj4K KyAgICAgICAgICAgICAgIDxob3JzdHJldGNoPjA8L2hvcnN0cmV0Y2g+CisgICAgICAgICAgICAg ICA8dmVyc3RyZXRjaD4wPC92ZXJzdHJldGNoPgorICAgICAgICAgICAgICA8L3NpemVwb2xpY3k+ CisgICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0i dG9vbFRpcCI+CisgICAgICAgICAgICAgIDxzdHJpbmc+SWYgbm9uLXplcm8sIHNldHMgdGhlIGRl c2lyZWQgdGFyZ2V0IHNpemUgaW4gYnl0ZXMuIFRha2VzIHByZWNlZGVuY2Ugb3ZlciB0aGUgY29t cHJlc3Npb24gcGFyYW1ldGVycy48L3N0cmluZz4KKyAgICAgICAgICAgICA8L3Byb3BlcnR5Pgor ICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJzdWZmaXgiPgorICAgICAgICAgICAgICA8c3Ry aW5nPiBrQjwvc3RyaW5nPgorICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICAg PHByb3BlcnR5IG5hbWU9Im1heGltdW0iPgorICAgICAgICAgICAgICA8bnVtYmVyPjEwMDAwMDAw MDA8L251bWJlcj4KKyAgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgPC93aWRn ZXQ+CisgICAgICAgICAgIDwvaXRlbT4KKyAgICAgICAgICAgPGl0ZW0gcm93PSIxIiBjb2x1bW49 IjAiPgorICAgICAgICAgICAgPHdpZGdldCBjbGFzcz0iUUxhYmVsIiBuYW1lPSJsYmxUYXJnZXRQ U05SIj4KKyAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idG9vbFRpcCI+CisgICAgICAgICAg ICAgIDxzdHJpbmc+SWYgbm9uLXplcm8sIHNwZWNpZmllcyB0aGUgbWluaW1hbCBkaXN0b3J0aW9u IHRvIHRyeSB0byBhY2hpZXZlLiBUYWtlcyBwcmVjZWRlbmNlIG92ZXIgVGFyZ2V0IFNpemUuPC9z dHJpbmc+CisgICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICA8cHJvcGVydHkg bmFtZT0idGV4dCI+CisgICAgICAgICAgICAgIDxzdHJpbmc+VGFyZ2V0IFBTTlI8L3N0cmluZz4K KyAgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgPC93aWRnZXQ+CisgICAgICAg ICAgIDwvaXRlbT4KKyAgICAgICAgICAgPGl0ZW0gcm93PSIxIiBjb2x1bW49IjEiPgorICAgICAg ICAgICAgPHdpZGdldCBjbGFzcz0iS2lzRG91YmxlUGFyc2VVbml0U3BpbkJveCIgbmFtZT0idGFy Z2V0UFNOUiI+CisgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InNpemVQb2xpY3kiPgorICAg ICAgICAgICAgICA8c2l6ZXBvbGljeSBoc2l6ZXR5cGU9IlByZWZlcnJlZCIgdnNpemV0eXBlPSJG aXhlZCI+CisgICAgICAgICAgICAgICA8aG9yc3RyZXRjaD4wPC9ob3JzdHJldGNoPgorICAgICAg ICAgICAgICAgPHZlcnN0cmV0Y2g+MDwvdmVyc3RyZXRjaD4KKyAgICAgICAgICAgICAgPC9zaXpl cG9saWN5PgorICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICAgPHByb3BlcnR5 IG5hbWU9InRvb2xUaXAiPgorICAgICAgICAgICAgICA8c3RyaW5nPklmIG5vbi16ZXJvLCBzcGVj aWZpZXMgdGhlIG1pbmltYWwgZGlzdG9ydGlvbiB0byB0cnkgdG8gYWNoaWV2ZS4gVGFrZXMgcHJl Y2VkZW5jZSBvdmVyIFRhcmdldCBTaXplLjwvc3RyaW5nPgorICAgICAgICAgICAgIDwvcHJvcGVy dHk+CisgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImRlY2ltYWxzIj4KKyAgICAgICAgICAg ICAgPG51bWJlcj4yPC9udW1iZXI+CisgICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAg ICAgICA8cHJvcGVydHkgbmFtZT0ibWF4aW11bSI+CisgICAgICAgICAgICAgIDxkb3VibGU+MTAw LjAwMDAwMDAwMDAwMDAwMDwvZG91YmxlPgorICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAg ICAgICAgICA8L3dpZGdldD4KKyAgICAgICAgICAgPC9pdGVtPgorICAgICAgICAgICA8aXRlbSBy b3c9IjIiIGNvbHVtbj0iMCI+CisgICAgICAgICAgICA8d2lkZ2V0IGNsYXNzPSJRTGFiZWwiIG5h bWU9ImxibFNlZ21lbnRzIj4KKyAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idG9vbFRpcCI+ CisgICAgICAgICAgICAgIDxzdHJpbmc+TWF4aW11bSBudW1iZXIgb2Ygc2VnbWVudHMgKDEgdG8g NCkuPC9zdHJpbmc+CisgICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICA8cHJv cGVydHkgbmFtZT0idGV4dCI+CisgICAgICAgICAgICAgIDxzdHJpbmc+U2VnbWVudHM8L3N0cmlu Zz4KKyAgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgPC93aWRnZXQ+CisgICAg ICAgICAgIDwvaXRlbT4KKyAgICAgICAgICAgPGl0ZW0gcm93PSIyIiBjb2x1bW49IjEiPgorICAg ICAgICAgICAgPHdpZGdldCBjbGFzcz0iS2lzU2xpZGVyU3BpbkJveCIgbmFtZT0ic2VnbWVudHMi PgorICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJzaXplUG9saWN5Ij4KKyAgICAgICAgICAg ICAgPHNpemVwb2xpY3kgaHNpemV0eXBlPSJQcmVmZXJyZWQiIHZzaXpldHlwZT0iRml4ZWQiPgor ICAgICAgICAgICAgICAgPGhvcnN0cmV0Y2g+MDwvaG9yc3RyZXRjaD4KKyAgICAgICAgICAgICAg IDx2ZXJzdHJldGNoPjA8L3ZlcnN0cmV0Y2g+CisgICAgICAgICAgICAgIDwvc2l6ZXBvbGljeT4K KyAgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0 b29sVGlwIj4KKyAgICAgICAgICAgICAgPHN0cmluZz5NYXhpbXVtIG51bWJlciBvZiBzZWdtZW50 cyAoMSB0byA0KS48L3N0cmluZz4KKyAgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJtaW5pbXVtIj4KKyAgICAgICAgICAgICAgPG51bWJlcj4xPC9u dW1iZXI+CisgICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICA8cHJvcGVydHkg bmFtZT0ibWF4aW11bSI+CisgICAgICAgICAgICAgIDxudW1iZXI+NDwvbnVtYmVyPgorICAgICAg ICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InBhZ2VTdGVw IiBzdGRzZXQ9IjAiPgorICAgICAgICAgICAgICA8bnVtYmVyPjI8L251bWJlcj4KKyAgICAgICAg ICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgPC93aWRnZXQ+CisgICAgICAgICAgIDwvaXRl bT4KKyAgICAgICAgICAgPGl0ZW0gcm93PSIzIiBjb2x1bW49IjAiPgorICAgICAgICAgICAgPHdp ZGdldCBjbGFzcz0iUUxhYmVsIiBuYW1lPSJsYmxTTlNTdHJlbmd0aCI+CisgICAgICAgICAgICAg PHByb3BlcnR5IG5hbWU9InRvb2xUaXAiPgorICAgICAgICAgICAgICA8c3RyaW5nPlNwYXRpYWwg Tm9pc2UgU2hhcGluZzogMCA9IG9mZiwgMTAwID0gbWF4aW11bS48L3N0cmluZz4KKyAgICAgICAg ICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0ZXh0Ij4KKyAg ICAgICAgICAgICAgPHN0cmluZz5TTlMgU3RyZW5ndGg8L3N0cmluZz4KKyAgICAgICAgICAgICA8 L3Byb3BlcnR5PgorICAgICAgICAgICAgPC93aWRnZXQ+CisgICAgICAgICAgIDwvaXRlbT4KKyAg ICAgICAgICAgPGl0ZW0gcm93PSIzIiBjb2x1bW49IjEiPgorICAgICAgICAgICAgPHdpZGdldCBj bGFzcz0iS2lzU2xpZGVyU3BpbkJveCIgbmFtZT0ic25zU3RyZW5ndGgiPgorICAgICAgICAgICAg IDxwcm9wZXJ0eSBuYW1lPSJ0b29sVGlwIj4KKyAgICAgICAgICAgICAgPHN0cmluZz5TcGF0aWFs IE5vaXNlIFNoYXBpbmc6IDAgPSBvZmYsIDEwMCA9IG1heGltdW0uPC9zdHJpbmc+CisgICAgICAg ICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ic3VmZml4Ij4K KyAgICAgICAgICAgICAgPHN0cmluZz4lPC9zdHJpbmc+CisgICAgICAgICAgICAgPC9wcm9wZXJ0 eT4KKyAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibWF4aW11bSI+CisgICAgICAgICAgICAg IDxudW1iZXI+MTAwPC9udW1iZXI+CisgICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAg ICAgIDwvd2lkZ2V0PgorICAgICAgICAgICA8L2l0ZW0+CisgICAgICAgICAgIDxpdGVtIHJvdz0i NCIgY29sdW1uPSIwIj4KKyAgICAgICAgICAgIDx3aWRnZXQgY2xhc3M9IlFMYWJlbCIgbmFtZT0i bGJsRmlsdGVyU3RyZW5ndGgiPgorICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b29sVGlw Ij4KKyAgICAgICAgICAgICAgPHN0cmluZz5GaWx0ZXIgc3RyZW5ndGg6IDAgPSBvZmYsIDEwMCA9 IHN0cm9uZ2VzdC48L3N0cmluZz4KKyAgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJ0ZXh0Ij4KKyAgICAgICAgICAgICAgPHN0cmluZz5GaWx0ZXIg U3RyZW5ndGg8L3N0cmluZz4KKyAgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICAg PC93aWRnZXQ+CisgICAgICAgICAgIDwvaXRlbT4KKyAgICAgICAgICAgPGl0ZW0gcm93PSI0IiBj b2x1bW49IjEiPgorICAgICAgICAgICAgPHdpZGdldCBjbGFzcz0iS2lzU2xpZGVyU3BpbkJveCIg bmFtZT0iZmlsdGVyU3RyZW5ndGgiPgorICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b29s VGlwIj4KKyAgICAgICAgICAgICAgPHN0cmluZz5GaWx0ZXIgc3RyZW5ndGg6IDAgPSBvZmYsIDEw MCA9IHN0cm9uZ2VzdC48L3N0cmluZz4KKyAgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAg ICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJzdWZmaXgiPgorICAgICAgICAgICAgICA8c3RyaW5nPiU8 L3N0cmluZz4KKyAgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgIDxwcm9wZXJ0 eSBuYW1lPSJtYXhpbXVtIj4KKyAgICAgICAgICAgICAgPG51bWJlcj4xMDA8L251bWJlcj4KKyAg ICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgPC93aWRnZXQ+CisgICAgICAgICAg IDwvaXRlbT4KKyAgICAgICAgICAgPGl0ZW0gcm93PSI1IiBjb2x1bW49IjAiPgorICAgICAgICAg ICAgPHdpZGdldCBjbGFzcz0iUUxhYmVsIiBuYW1lPSJsYmxGaWx0ZXJTaGFycG5lc3MiPgorICAg ICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b29sVGlwIj4KKyAgICAgICAgICAgICAgPHN0cmlu Zz5GaWx0ZXIgc2hhcnBuZXNzOiAwID0gb2ZmLCA3ID0gbGVhc3Qgc2hhcnAuPC9zdHJpbmc+Cisg ICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idGV4 dCI+CisgICAgICAgICAgICAgIDxzdHJpbmc+RmlsdGVyIFNoYXJwbmVzczwvc3RyaW5nPgorICAg ICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICA8L3dpZGdldD4KKyAgICAgICAgICAg PC9pdGVtPgorICAgICAgICAgICA8aXRlbSByb3c9IjUiIGNvbHVtbj0iMSI+CisgICAgICAgICAg ICA8d2lkZ2V0IGNsYXNzPSJLaXNTbGlkZXJTcGluQm94IiBuYW1lPSJmaWx0ZXJTaGFycG5lc3Mi PgorICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b29sVGlwIj4KKyAgICAgICAgICAgICAg PHN0cmluZz5GaWx0ZXIgc2hhcnBuZXNzOiAwID0gb2ZmLCA3ID0gbGVhc3Qgc2hhcnAuPC9zdHJp bmc+CisgICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICA8cHJvcGVydHkgbmFt ZT0ibWF4aW11bSI+CisgICAgICAgICAgICAgIDxudW1iZXI+NzwvbnVtYmVyPgorICAgICAgICAg ICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InBhZ2VTdGVwIiBz dGRzZXQ9IjAiPgorICAgICAgICAgICAgICA8bnVtYmVyPjI8L251bWJlcj4KKyAgICAgICAgICAg ICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgPC93aWRnZXQ+CisgICAgICAgICAgIDwvaXRlbT4K KyAgICAgICAgICAgPGl0ZW0gcm93PSI2IiBjb2x1bW49IjAiPgorICAgICAgICAgICAgPHdpZGdl dCBjbGFzcz0iUUxhYmVsIiBuYW1lPSJsYmxGaWx0ZXJUeXBlIj4KKyAgICAgICAgICAgICA8cHJv cGVydHkgbmFtZT0idG9vbFRpcCI+CisgICAgICAgICAgICAgIDxzdHJpbmc+MCA9IFNpbXBsZSwg MSA9IFN0cm9uZy4gT25seSB1c2VkIGlmIEZpbHRlciBTdHJlbmd0aCBpcyBoaWdoZXIgdGhhbiAw IG9yIEF1dG8gQWRqdXN0IEZpbHRlciBpcyBlbmFibGVkLjwvc3RyaW5nPgorICAgICAgICAgICAg IDwvcHJvcGVydHk+CisgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRleHQiPgorICAgICAg ICAgICAgICA8c3RyaW5nPkZpbHRlciBUeXBlPC9zdHJpbmc+CisgICAgICAgICAgICAgPC9wcm9w ZXJ0eT4KKyAgICAgICAgICAgIDwvd2lkZ2V0PgorICAgICAgICAgICA8L2l0ZW0+CisgICAgICAg ICAgIDxpdGVtIHJvdz0iNiIgY29sdW1uPSIxIj4KKyAgICAgICAgICAgIDx3aWRnZXQgY2xhc3M9 IlFDb21ib0JveCIgbmFtZT0iZmlsdGVyVHlwZSI+CisgICAgICAgICAgICAgPHByb3BlcnR5IG5h bWU9InRvb2xUaXAiPgorICAgICAgICAgICAgICA8c3RyaW5nPjAgPSBTaW1wbGUsIDEgPSBTdHJv bmcuIE9ubHkgdXNlZCBpZiBGaWx0ZXIgU3RyZW5ndGggaXMgaGlnaGVyIHRoYW4gMCBvciBBdXRv IEFkanVzdCBGaWx0ZXIgaXMgZW5hYmxlZC48L3N0cmluZz4KKyAgICAgICAgICAgICA8L3Byb3Bl cnR5PgorICAgICAgICAgICAgPC93aWRnZXQ+CisgICAgICAgICAgIDwvaXRlbT4KKyAgICAgICAg ICAgPGl0ZW0gcm93PSI3IiBjb2x1bW49IjAiPgorICAgICAgICAgICAgPHdpZGdldCBjbGFzcz0i UUxhYmVsIiBuYW1lPSJsYmxBdXRvZmlsdGVyIj4KKyAgICAgICAgICAgICA8cHJvcGVydHkgbmFt ZT0idGV4dCI+CisgICAgICAgICAgICAgIDxzdHJpbmc+QXV0byBBZGp1c3QgRmlsdGVyIFN0cmVu Z3RoPC9zdHJpbmc+CisgICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgIDwvd2lk Z2V0PgorICAgICAgICAgICA8L2l0ZW0+CisgICAgICAgICAgIDxpdGVtIHJvdz0iNyIgY29sdW1u PSIxIj4KKyAgICAgICAgICAgIDx3aWRnZXQgY2xhc3M9IlFDaGVja0JveCIgbmFtZT0iYXV0b2Zp bHRlciI+CisgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRleHQiPgorICAgICAgICAgICAg ICA8c3RyaW5nPkVuYWJsZWQ8L3N0cmluZz4KKyAgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAg ICAgICAgICAgPC93aWRnZXQ+CisgICAgICAgICAgIDwvaXRlbT4KKyAgICAgICAgICAgPGl0ZW0g cm93PSI4IiBjb2x1bW49IjAiPgorICAgICAgICAgICAgPHdpZGdldCBjbGFzcz0iUUxhYmVsIiBu YW1lPSJsYmxBbHBoYUNvbXByZXNzaW9uIj4KKyAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0i dG9vbFRpcCI+CisgICAgICAgICAgICAgIDxzdHJpbmc+QWxnb3JpdGhtIGZvciBlbmNvZGluZyB0 aGUgYWxwaGEgcGxhbmUgKDAgPSBOb25lLCAxID0gY29tcHJlc3NlZCB3aXRoIFdlYlAgbG9zc2xl c3MpLiBEZWZhdWx0IGlzIDEuPC9zdHJpbmc+CisgICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAg ICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idGV4dCI+CisgICAgICAgICAgICAgIDxzdHJpbmc+ QWxwaGEgUGxhbmUgQ29tcHJlc3Npb248L3N0cmluZz4KKyAgICAgICAgICAgICA8L3Byb3BlcnR5 PgorICAgICAgICAgICAgPC93aWRnZXQ+CisgICAgICAgICAgIDwvaXRlbT4KKyAgICAgICAgICAg PGl0ZW0gcm93PSI4IiBjb2x1bW49IjEiPgorICAgICAgICAgICAgPHdpZGdldCBjbGFzcz0iUUNv bWJvQm94IiBuYW1lPSJhbHBoYUNvbXByZXNzaW9uIi8+CisgICAgICAgICAgIDwvaXRlbT4KKyAg ICAgICAgICAgPGl0ZW0gcm93PSI5IiBjb2x1bW49IjAiPgorICAgICAgICAgICAgPHdpZGdldCBj bGFzcz0iUUxhYmVsIiBuYW1lPSJsYmxBbHBoYUZpbHRlcmluZyI+CisgICAgICAgICAgICAgPHBy b3BlcnR5IG5hbWU9InRleHQiPgorICAgICAgICAgICAgICA8c3RyaW5nPlByZWRpY3RpdmUgRmls dGVyaW5nIGZvciBBbHBoYSBQbGFuZTwvc3RyaW5nPgorICAgICAgICAgICAgIDwvcHJvcGVydHk+ CisgICAgICAgICAgICA8L3dpZGdldD4KKyAgICAgICAgICAgPC9pdGVtPgorICAgICAgICAgICA8 aXRlbSByb3c9IjkiIGNvbHVtbj0iMSI+CisgICAgICAgICAgICA8bGF5b3V0IGNsYXNzPSJRR3Jp ZExheW91dCIgbmFtZT0iZ3JpZExheW91dCI+CisgICAgICAgICAgICAgPGl0ZW0gcm93PSIwIiBj b2x1bW49IjEiPgorICAgICAgICAgICAgICA8d2lkZ2V0IGNsYXNzPSJRTGFiZWwiIG5hbWU9Imxi bEZhc3QiPgorICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRleHQiPgorICAgICAgICAg ICAgICAgIDxzdHJpbmc+RmFzdDwvc3RyaW5nPgorICAgICAgICAgICAgICAgPC9wcm9wZXJ0eT4K KyAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJhbGlnbm1lbnQiPgorICAgICAgICAgICAg ICAgIDxzZXQ+UXQ6OkFsaWduQ2VudGVyPC9zZXQ+CisgICAgICAgICAgICAgICA8L3Byb3BlcnR5 PgorICAgICAgICAgICAgICA8L3dpZGdldD4KKyAgICAgICAgICAgICA8L2l0ZW0+CisgICAgICAg ICAgICAgPGl0ZW0gcm93PSIwIiBjb2x1bW49IjAiPgorICAgICAgICAgICAgICA8d2lkZ2V0IGNs YXNzPSJRTGFiZWwiIG5hbWU9ImxibE5vbmUiPgorICAgICAgICAgICAgICAgPHByb3BlcnR5IG5h bWU9InRleHQiPgorICAgICAgICAgICAgICAgIDxzdHJpbmc+Tm9uZTwvc3RyaW5nPgorICAgICAg ICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICAgPC93aWRnZXQ+CisgICAgICAgICAg ICAgPC9pdGVtPgorICAgICAgICAgICAgIDxpdGVtIHJvdz0iMCIgY29sdW1uPSIyIj4KKyAgICAg ICAgICAgICAgPHdpZGdldCBjbGFzcz0iUUxhYmVsIiBuYW1lPSJsYmxCZXN0Ij4KKyAgICAgICAg ICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0ZXh0Ij4KKyAgICAgICAgICAgICAgICA8c3RyaW5nPkJl c3Q8L3N0cmluZz4KKyAgICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICAgICA8 cHJvcGVydHkgbmFtZT0iYWxpZ25tZW50Ij4KKyAgICAgICAgICAgICAgICA8c2V0PlF0OjpBbGln blJpZ2h0fFF0OjpBbGlnblRyYWlsaW5nfFF0OjpBbGlnblZDZW50ZXI8L3NldD4KKyAgICAgICAg ICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICAgIDwvd2lkZ2V0PgorICAgICAgICAgICAg IDwvaXRlbT4KKyAgICAgICAgICAgICA8aXRlbSByb3c9IjEiIGNvbHVtbj0iMCIgY29sc3Bhbj0i MyI+CisgICAgICAgICAgICAgIDx3aWRnZXQgY2xhc3M9Iktpc1NsaWRlclNwaW5Cb3giIG5hbWU9 ImFscGhhRmlsdGVyaW5nIj4KKyAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJtYXhpbXVt Ij4KKyAgICAgICAgICAgICAgICA8bnVtYmVyPjI8L251bWJlcj4KKyAgICAgICAgICAgICAgIDwv cHJvcGVydHk+CisgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0icGFnZVN0ZXAiIHN0ZHNl dD0iMCI+CisgICAgICAgICAgICAgICAgPG51bWJlcj4xPC9udW1iZXI+CisgICAgICAgICAgICAg ICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgICA8L3dpZGdldD4KKyAgICAgICAgICAgICA8L2l0 ZW0+CisgICAgICAgICAgICA8L2xheW91dD4KKyAgICAgICAgICAgPC9pdGVtPgorICAgICAgICAg ICA8aXRlbSByb3c9IjEwIiBjb2x1bW49IjAiPgorICAgICAgICAgICAgPHdpZGdldCBjbGFzcz0i UUxhYmVsIiBuYW1lPSJsYmxBbHBoYVF1YWxpdHkiPgorICAgICAgICAgICAgIDxwcm9wZXJ0eSBu YW1lPSJ0b29sVGlwIj4KKyAgICAgICAgICAgICAgPHN0cmluZz4wID0gc21hbGxlc3Qgc2l6ZSwg MTAwID0gbG9zc2xlc3MuIERlZmF1bHQgaXMgMTAwLjwvc3RyaW5nPgorICAgICAgICAgICAgIDwv cHJvcGVydHk+CisgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRleHQiPgorICAgICAgICAg ICAgICA8c3RyaW5nPkFscGhhIFBsYW5lIFF1YWxpdHk8L3N0cmluZz4KKyAgICAgICAgICAgICA8 L3Byb3BlcnR5PgorICAgICAgICAgICAgPC93aWRnZXQ+CisgICAgICAgICAgIDwvaXRlbT4KKyAg ICAgICAgICAgPGl0ZW0gcm93PSIxMCIgY29sdW1uPSIxIj4KKyAgICAgICAgICAgIDx3aWRnZXQg Y2xhc3M9Iktpc1NsaWRlclNwaW5Cb3giIG5hbWU9ImFscGhhUXVhbGl0eSI+CisgICAgICAgICAg ICAgPHByb3BlcnR5IG5hbWU9InRvb2xUaXAiPgorICAgICAgICAgICAgICA8c3RyaW5nPjAgPSBz bWFsbGVzdCBzaXplLCAxMDAgPSBsb3NzbGVzcy4gRGVmYXVsdCBpcyAxMDAuPC9zdHJpbmc+Cisg ICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ic3Vm Zml4Ij4KKyAgICAgICAgICAgICAgPHN0cmluZz4lPC9zdHJpbmc+CisgICAgICAgICAgICAgPC9w cm9wZXJ0eT4KKyAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibWF4aW11bSI+CisgICAgICAg ICAgICAgIDxudW1iZXI+MTAwPC9udW1iZXI+CisgICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAg ICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idmFsdWUiPgorICAgICAgICAgICAgICA8bnVtYmVy PjEwMDwvbnVtYmVyPgorICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICA8L3dp ZGdldD4KKyAgICAgICAgICAgPC9pdGVtPgorICAgICAgICAgICA8aXRlbSByb3c9IjExIiBjb2x1 bW49IjAiPgorICAgICAgICAgICAgPHdpZGdldCBjbGFzcz0iUUxhYmVsIiBuYW1lPSJsYmxQYXNz Ij4KKyAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idG9vbFRpcCI+CisgICAgICAgICAgICAg IDxzdHJpbmc+TnVtYmVyIG9mIGVudHJvcHktYW5hbHlzaXMgcGFzc2VzICgxIHRvIDEwKS48L3N0 cmluZz4KKyAgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgIDxwcm9wZXJ0eSBu YW1lPSJ0ZXh0Ij4KKyAgICAgICAgICAgICAgPHN0cmluZz5FbnRyb3B5IFBhc3Nlczwvc3RyaW5n PgorICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICA8L3dpZGdldD4KKyAgICAg ICAgICAgPC9pdGVtPgorICAgICAgICAgICA8aXRlbSByb3c9IjExIiBjb2x1bW49IjEiPgorICAg ICAgICAgICAgPHdpZGdldCBjbGFzcz0iS2lzU2xpZGVyU3BpbkJveCIgbmFtZT0icGFzcyI+Cisg ICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InNpemVQb2xpY3kiPgorICAgICAgICAgICAgICA8 c2l6ZXBvbGljeSBoc2l6ZXR5cGU9IlByZWZlcnJlZCIgdnNpemV0eXBlPSJGaXhlZCI+CisgICAg ICAgICAgICAgICA8aG9yc3RyZXRjaD4wPC9ob3JzdHJldGNoPgorICAgICAgICAgICAgICAgPHZl cnN0cmV0Y2g+MDwvdmVyc3RyZXRjaD4KKyAgICAgICAgICAgICAgPC9zaXplcG9saWN5PgorICAg ICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvb2xU aXAiPgorICAgICAgICAgICAgICA8c3RyaW5nPk51bWJlciBvZiBlbnRyb3B5LWFuYWx5c2lzIHBh c3NlcyAoMSB0byAxMCkuPC9zdHJpbmc+CisgICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAg ICAgICAgICA8cHJvcGVydHkgbmFtZT0ibWluaW11bSI+CisgICAgICAgICAgICAgIDxudW1iZXI+ MTwvbnVtYmVyPgorICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICAgPHByb3Bl cnR5IG5hbWU9Im1heGltdW0iPgorICAgICAgICAgICAgICA8bnVtYmVyPjEwPC9udW1iZXI+Cisg ICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ic2lu Z2xlU3RlcCI+CisgICAgICAgICAgICAgIDxudW1iZXI+MTwvbnVtYmVyPgorICAgICAgICAgICAg IDwvcHJvcGVydHk+CisgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InBhZ2VTdGVwIiBzdGRz ZXQ9IjAiPgorICAgICAgICAgICAgICA8bnVtYmVyPjI8L251bWJlcj4KKyAgICAgICAgICAgICA8 L3Byb3BlcnR5PgorICAgICAgICAgICAgPC93aWRnZXQ+CisgICAgICAgICAgIDwvaXRlbT4KKyAg ICAgICAgICAgPGl0ZW0gcm93PSIxMiIgY29sdW1uPSIwIj4KKyAgICAgICAgICAgIDx3aWRnZXQg Y2xhc3M9IlFMYWJlbCIgbmFtZT0ibGJsU2hvd0NvbXByZXNzZWQiPgorICAgICAgICAgICAgIDxw cm9wZXJ0eSBuYW1lPSJ0b29sVGlwIj4KKyAgICAgICAgICAgICAgPHN0cmluZz5JZiBlbmFibGVk LCBleHBvcnQgdGhlIGNvbXByZXNzZWQgcGljdHVyZSBiYWNrLiBJbi1sb29wIGZpbHRlcmluZyBp cyBub3QgYXBwbGllZC48L3N0cmluZz4KKyAgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAg ICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0ZXh0Ij4KKyAgICAgICAgICAgICAgPHN0cmluZz5TaG93 IENvbXByZXNzZWQ8L3N0cmluZz4KKyAgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAg ICAgPC93aWRnZXQ+CisgICAgICAgICAgIDwvaXRlbT4KKyAgICAgICAgICAgPGl0ZW0gcm93PSIx MiIgY29sdW1uPSIxIj4KKyAgICAgICAgICAgIDx3aWRnZXQgY2xhc3M9IlFDaGVja0JveCIgbmFt ZT0ic2hvd0NvbXByZXNzZWQiPgorICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b29sVGlw Ij4KKyAgICAgICAgICAgICAgPHN0cmluZz5JZiBlbmFibGVkLCBleHBvcnQgdGhlIGNvbXByZXNz ZWQgcGljdHVyZSBiYWNrLiBJbi1sb29wIGZpbHRlcmluZyBpcyBub3QgYXBwbGllZC48L3N0cmlu Zz4KKyAgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1l PSJ0ZXh0Ij4KKyAgICAgICAgICAgICAgPHN0cmluZz5FbmFibGVkPC9zdHJpbmc+CisgICAgICAg ICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgIDwvd2lkZ2V0PgorICAgICAgICAgICA8L2l0 ZW0+CisgICAgICAgICAgIDxpdGVtIHJvdz0iMTMiIGNvbHVtbj0iMCI+CisgICAgICAgICAgICA8 d2lkZ2V0IGNsYXNzPSJRTGFiZWwiIG5hbWU9ImxibFByZXByb2Nlc3NpbmciPgorICAgICAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJ0ZXh0Ij4KKyAgICAgICAgICAgICAgPHN0cmluZz5QcmVwcm9j ZXNzaW5nIEZpbHRlcjwvc3RyaW5nPgorICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAg ICAgICA8L3dpZGdldD4KKyAgICAgICAgICAgPC9pdGVtPgorICAgICAgICAgICA8aXRlbSByb3c9 IjEzIiBjb2x1bW49IjEiPgorICAgICAgICAgICAgPHdpZGdldCBjbGFzcz0iUUNvbWJvQm94IiBu YW1lPSJwcmVwcm9jZXNzaW5nIi8+CisgICAgICAgICAgIDwvaXRlbT4KKyAgICAgICAgICAgPGl0 ZW0gcm93PSIxNCIgY29sdW1uPSIwIj4KKyAgICAgICAgICAgIDx3aWRnZXQgY2xhc3M9IlFMYWJl bCIgbmFtZT0ibGJsUGFydGl0aW9ucyI+CisgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRv b2xUaXAiPgorICAgICAgICAgICAgICA8c3RyaW5nPmxvZzIobnVtYmVyIG9mIHRva2VuIHBhcnRp dGlvbnMpIGJldHdlZW4gMCBhbmQgMy4gRGVmYXVsdCBpcyAwIGZvciBlYXNpZXIgcHJvZ3Jlc3Np dmUgZGVjb2RpbmcuPC9zdHJpbmc+CisgICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAg ICAgICA8cHJvcGVydHkgbmFtZT0idGV4dCI+CisgICAgICAgICAgICAgIDxzdHJpbmc+UGFydGl0 aW9uczwvc3RyaW5nPgorICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICA8L3dp ZGdldD4KKyAgICAgICAgICAgPC9pdGVtPgorICAgICAgICAgICA8aXRlbSByb3c9IjE0IiBjb2x1 bW49IjEiPgorICAgICAgICAgICAgPHdpZGdldCBjbGFzcz0iS2lzU2xpZGVyU3BpbkJveCIgbmFt ZT0icGFydGl0aW9ucyI+CisgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvb2xUaXAiPgor ICAgICAgICAgICAgICA8c3RyaW5nPmxvZzIobnVtYmVyIG9mIHRva2VuIHBhcnRpdGlvbnMpIGJl dHdlZW4gMCBhbmQgMy4gRGVmYXVsdCBpcyAwIGZvciBlYXNpZXIgcHJvZ3Jlc3NpdmUgZGVjb2Rp bmcuPC9zdHJpbmc+CisgICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICA8cHJv cGVydHkgbmFtZT0ibWF4aW11bSI+CisgICAgICAgICAgICAgIDxudW1iZXI+MzwvbnVtYmVyPgor ICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICA8L3dpZGdldD4KKyAgICAgICAg ICAgPC9pdGVtPgorICAgICAgICAgICA8aXRlbSByb3c9IjE1IiBjb2x1bW49IjAiPgorICAgICAg ICAgICAgPHdpZGdldCBjbGFzcz0iUUxhYmVsIiBuYW1lPSJsYmxQYXJ0aXRpb25MaW1pdCI+Cisg ICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvb2xUaXAiPgorICAgICAgICAgICAgICA8c3Ry aW5nPlF1YWxpdHkgZGVncmFkYXRpb24gYWxsb3dlZCB0byBmaXQgdGhlIDUxMktCIGxpbWl0IG9u IHByZWRpY3Rpb24gbW9kZXMgY29kaW5nICgwID0gbm8gZGVncmFkYXRpb24sIDEwMCA9IG1heGlt dW0gcG9zc2libGUgZGVncmFkYXRpb24pLjwvc3RyaW5nPgorICAgICAgICAgICAgIDwvcHJvcGVy dHk+CisgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRleHQiPgorICAgICAgICAgICAgICA8 c3RyaW5nPlBhcnRpdGlvbiBMaW1pdDwvc3RyaW5nPgorICAgICAgICAgICAgIDwvcHJvcGVydHk+ CisgICAgICAgICAgICA8L3dpZGdldD4KKyAgICAgICAgICAgPC9pdGVtPgorICAgICAgICAgICA8 aXRlbSByb3c9IjE1IiBjb2x1bW49IjEiPgorICAgICAgICAgICAgPGxheW91dCBjbGFzcz0iUUdy aWRMYXlvdXQiIG5hbWU9ImdyaWRMYXlvdXRfMiI+CisgICAgICAgICAgICAgPGl0ZW0gcm93PSIw IiBjb2x1bW49IjEiPgorICAgICAgICAgICAgICA8d2lkZ2V0IGNsYXNzPSJRTGFiZWwiIG5hbWU9 ImxibE1heGltdW1EZWdyYWRhdGlvbiI+CisgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0i dGV4dCI+CisgICAgICAgICAgICAgICAgPHN0cmluZz5NYXhpbXVtIGRlZ3JhZGF0aW9uPC9zdHJp bmc+CisgICAgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgICAgPHByb3BlcnR5 IG5hbWU9ImFsaWdubWVudCI+CisgICAgICAgICAgICAgICAgPHNldD5RdDo6QWxpZ25SaWdodHxR dDo6QWxpZ25UcmFpbGluZ3xRdDo6QWxpZ25WQ2VudGVyPC9zZXQ+CisgICAgICAgICAgICAgICA8 L3Byb3BlcnR5PgorICAgICAgICAgICAgICA8L3dpZGdldD4KKyAgICAgICAgICAgICA8L2l0ZW0+ CisgICAgICAgICAgICAgPGl0ZW0gcm93PSIwIiBjb2x1bW49IjAiPgorICAgICAgICAgICAgICA8 d2lkZ2V0IGNsYXNzPSJRTGFiZWwiIG5hbWU9ImxibE5vRGVncmFkYXRpb24iPgorICAgICAgICAg ICAgICAgPHByb3BlcnR5IG5hbWU9InRleHQiPgorICAgICAgICAgICAgICAgIDxzdHJpbmc+Tm8g ZGVncmFkYXRpb248L3N0cmluZz4KKyAgICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAg ICAgICAgIDwvd2lkZ2V0PgorICAgICAgICAgICAgIDwvaXRlbT4KKyAgICAgICAgICAgICA8aXRl bSByb3c9IjEiIGNvbHVtbj0iMCIgY29sc3Bhbj0iMiI+CisgICAgICAgICAgICAgIDx3aWRnZXQg Y2xhc3M9Iktpc1NsaWRlclNwaW5Cb3giIG5hbWU9InBhcnRpdGlvbkxpbWl0Ij4KKyAgICAgICAg ICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b29sVGlwIj4KKyAgICAgICAgICAgICAgICA8c3RyaW5n PlF1YWxpdHkgZGVncmFkYXRpb24gYWxsb3dlZCB0byBmaXQgdGhlIDUxMktCIGxpbWl0IG9uIHBy ZWRpY3Rpb24gbW9kZXMgY29kaW5nICgwID0gbm8gZGVncmFkYXRpb24sIDEwMCA9IG1heGltdW0g cG9zc2libGUgZGVncmFkYXRpb24pLjwvc3RyaW5nPgorICAgICAgICAgICAgICAgPC9wcm9wZXJ0 eT4KKyAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJzdWZmaXgiPgorICAgICAgICAgICAg ICAgIDxzdHJpbmc+JTwvc3RyaW5nPgorICAgICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAg ICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJtYXhpbXVtIj4KKyAgICAgICAgICAgICAgICA8bnVt YmVyPjEwMDwvbnVtYmVyPgorICAgICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJ2YWx1ZSI+CisgICAgICAgICAgICAgICAgPG51bWJlcj4xMDA8 L251bWJlcj4KKyAgICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICAgIDwvd2lk Z2V0PgorICAgICAgICAgICAgIDwvaXRlbT4KKyAgICAgICAgICAgIDwvbGF5b3V0PgorICAgICAg ICAgICA8L2l0ZW0+CisgICAgICAgICAgIDxpdGVtIHJvdz0iMTYiIGNvbHVtbj0iMCI+CisgICAg ICAgICAgICA8d2lkZ2V0IGNsYXNzPSJRTGFiZWwiIG5hbWU9ImxibEVtdWxhdGVKUEVHU2l6ZSI+ CisgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvb2xUaXAiPgorICAgICAgICAgICAgICA8 c3RyaW5nPklmIGVuYWJsZWQsIGNvbXByZXNzaW9uIHBhcmFtZXRlcnMgd2lsbCBiZSByZW1hcHBl ZCB0byBiZXR0ZXIgbWF0Y2ggdGhlIGV4cGVjdGVkIG91dHB1dCBzaXplIGZyb20gSlBFRyBjb21w cmVzc2lvbi4gR2VuZXJhbGx5LCB0aGUgb3V0cHV0IHNpemUgd2lsbCBiZSBzaW1pbGFyIGJ1dCB0 aGUgZGVncmFkYXRpb24gd2lsbCBiZSBsb3dlci48L3N0cmluZz4KKyAgICAgICAgICAgICA8L3By b3BlcnR5PgorICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0ZXh0Ij4KKyAgICAgICAgICAg ICAgPHN0cmluZz5FbXVsYXRlIEpQRUcgU2l6ZTwvc3RyaW5nPgorICAgICAgICAgICAgIDwvcHJv cGVydHk+CisgICAgICAgICAgICA8L3dpZGdldD4KKyAgICAgICAgICAgPC9pdGVtPgorICAgICAg ICAgICA8aXRlbSByb3c9IjE2IiBjb2x1bW49IjEiPgorICAgICAgICAgICAgPHdpZGdldCBjbGFz cz0iUUNoZWNrQm94IiBuYW1lPSJlbXVsYXRlSlBFR1NpemUiPgorICAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJ0b29sVGlwIj4KKyAgICAgICAgICAgICAgPHN0cmluZz5JZiBlbmFibGVkLCBj b21wcmVzc2lvbiBwYXJhbWV0ZXJzIHdpbGwgYmUgcmVtYXBwZWQgdG8gYmV0dGVyIG1hdGNoIHRo ZSBleHBlY3RlZCBvdXRwdXQgc2l6ZSBmcm9tIEpQRUcgY29tcHJlc3Npb24uIEdlbmVyYWxseSwg dGhlIG91dHB1dCBzaXplIHdpbGwgYmUgc2ltaWxhciBidXQgdGhlIGRlZ3JhZGF0aW9uIHdpbGwg YmUgbG93ZXIuPC9zdHJpbmc+CisgICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAg ICA8cHJvcGVydHkgbmFtZT0idGV4dCI+CisgICAgICAgICAgICAgIDxzdHJpbmc+RW5hYmxlZDwv c3RyaW5nPgorICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICA8L3dpZGdldD4K KyAgICAgICAgICAgPC9pdGVtPgorICAgICAgICAgICA8aXRlbSByb3c9IjE3IiBjb2x1bW49IjAi PgorICAgICAgICAgICAgPHdpZGdldCBjbGFzcz0iUUxhYmVsIiBuYW1lPSJsYmxUaHJlYWRMZXZl bCI+CisgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvb2xUaXAiPgorICAgICAgICAgICAg ICA8c3RyaW5nPklmIGVuYWJsZWQsIHRyeSBhbmQgdXNlIG11bHRpdGhyZWFkZWQgZW5jb2Rpbmcu PC9zdHJpbmc+CisgICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICA8cHJvcGVy dHkgbmFtZT0idGV4dCI+CisgICAgICAgICAgICAgIDxzdHJpbmc+TXVsdGl0aHJlYWRlZCBFbmNv ZGluZzwvc3RyaW5nPgorICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICA8L3dp ZGdldD4KKyAgICAgICAgICAgPC9pdGVtPgorICAgICAgICAgICA8aXRlbSByb3c9IjE3IiBjb2x1 bW49IjEiPgorICAgICAgICAgICAgPHdpZGdldCBjbGFzcz0iUUNoZWNrQm94IiBuYW1lPSJ0aHJl YWRMZXZlbCI+CisgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvb2xUaXAiPgorICAgICAg ICAgICAgICA8c3RyaW5nPklmIGVuYWJsZWQsIHRyeSBhbmQgdXNlIG11bHRpdGhyZWFkZWQgZW5j b2RpbmcuPC9zdHJpbmc+CisgICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICA8 cHJvcGVydHkgbmFtZT0idGV4dCI+CisgICAgICAgICAgICAgIDxzdHJpbmc+RW5hYmxlZDwvc3Ry aW5nPgorICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICA8L3dpZGdldD4KKyAg ICAgICAgICAgPC9pdGVtPgorICAgICAgICAgICA8aXRlbSByb3c9IjE4IiBjb2x1bW49IjAiPgor ICAgICAgICAgICAgPHdpZGdldCBjbGFzcz0iUUxhYmVsIiBuYW1lPSJsYmxMb3dNZW1vcnkiPgor ICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b29sVGlwIj4KKyAgICAgICAgICAgICAgPHN0 cmluZz5JZiBlbmFibGVkLCByZWR1Y2UgbWVtb3J5IHVzYWdlIChidXQgaW5jcmVhc2UgQ1BVIHVz ZSkuPC9zdHJpbmc+CisgICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICA8cHJv cGVydHkgbmFtZT0idGV4dCI+CisgICAgICAgICAgICAgIDxzdHJpbmc+UmVkdWNlIE1lbW9yeSBV c2FnZTwvc3RyaW5nPgorICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICA8L3dp ZGdldD4KKyAgICAgICAgICAgPC9pdGVtPgorICAgICAgICAgICA8aXRlbSByb3c9IjE4IiBjb2x1 bW49IjEiPgorICAgICAgICAgICAgPHdpZGdldCBjbGFzcz0iUUNoZWNrQm94IiBuYW1lPSJsb3dN ZW1vcnkiPgorICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b29sVGlwIj4KKyAgICAgICAg ICAgICAgPHN0cmluZz5JZiBlbmFibGVkLCByZWR1Y2UgbWVtb3J5IHVzYWdlIChidXQgaW5jcmVh c2UgQ1BVIHVzZSkuPC9zdHJpbmc+CisgICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAg ICAgICA8cHJvcGVydHkgbmFtZT0idGV4dCI+CisgICAgICAgICAgICAgIDxzdHJpbmc+RW5hYmxl ZDwvc3RyaW5nPgorICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICA8L3dpZGdl dD4KKyAgICAgICAgICAgPC9pdGVtPgorICAgICAgICAgICA8aXRlbSByb3c9IjE5IiBjb2x1bW49 IjAiPgorICAgICAgICAgICAgPHdpZGdldCBjbGFzcz0iUUxhYmVsIiBuYW1lPSJsYmxOZWFyTG9z c2xlc3MiPgorICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b29sVGlwIj4KKyAgICAgICAg ICAgICAgPHN0cmluZz5OZWFyIGxvc3NsZXNzIGVuY29kaW5nOiAwID0gbWF4IGxvc3MsIDEwMCA9 IG9mZi4gRGVmYXVsdCBpcyAxMDAuPC9zdHJpbmc+CisgICAgICAgICAgICAgPC9wcm9wZXJ0eT4K KyAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idGV4dCI+CisgICAgICAgICAgICAgIDxzdHJp bmc+TmVhciBMb3NzbGVzczwvc3RyaW5nPgorICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAg ICAgICAgICA8L3dpZGdldD4KKyAgICAgICAgICAgPC9pdGVtPgorICAgICAgICAgICA8aXRlbSBy b3c9IjE5IiBjb2x1bW49IjEiPgorICAgICAgICAgICAgPHdpZGdldCBjbGFzcz0iS2lzU2xpZGVy U3BpbkJveCIgbmFtZT0ibmVhckxvc3NsZXNzIj4KKyAgICAgICAgICAgICA8cHJvcGVydHkgbmFt ZT0idG9vbFRpcCI+CisgICAgICAgICAgICAgIDxzdHJpbmc+TmVhciBsb3NzbGVzcyBlbmNvZGlu ZzogMCA9IG1heCBsb3NzLCAxMDAgPSBvZmYuIERlZmF1bHQgaXMgMTAwLjwvc3RyaW5nPgorICAg ICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InN1ZmZp eCI+CisgICAgICAgICAgICAgIDxzdHJpbmc+JTwvc3RyaW5nPgorICAgICAgICAgICAgIDwvcHJv cGVydHk+CisgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9Im1heGltdW0iPgorICAgICAgICAg ICAgICA8bnVtYmVyPjEwMDwvbnVtYmVyPgorICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAg ICAgICAgICAgPHByb3BlcnR5IG5hbWU9InZhbHVlIj4KKyAgICAgICAgICAgICAgPG51bWJlcj4x MDA8L251bWJlcj4KKyAgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgPC93aWRn ZXQ+CisgICAgICAgICAgIDwvaXRlbT4KKyAgICAgICAgICAgPGl0ZW0gcm93PSIyMCIgY29sdW1u PSIwIj4KKyAgICAgICAgICAgIDx3aWRnZXQgY2xhc3M9IlFMYWJlbCIgbmFtZT0ibGJsRXhhY3Qi PgorICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b29sVGlwIj4KKyAgICAgICAgICAgICAg PHN0cmluZz5JZiBlbmFibGVkLCBwcmVzZXJ2ZSB0aGUgZXhhY3QgUkdCIHZhbHVlcyB1bmRlciB0 cmFuc3BhcmVudCBhcmVhcy4gT3RoZXJ3aXNlLCBkaXNjYXJkIHRoaXMgaW52aXNpYmxlIFJHQiBp bmZvcm1hdGlvbiBmb3IgYmV0dGVyIGNvbXByZXNzaW9uLiBUaGUgZGVmYXVsdCBpcyBkaXNhYmxl ZC48L3N0cmluZz4KKyAgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJ0ZXh0Ij4KKyAgICAgICAgICAgICAgPHN0cmluZz5FeGFjdDwvc3RyaW5nPgor ICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICA8L3dpZGdldD4KKyAgICAgICAg ICAgPC9pdGVtPgorICAgICAgICAgICA8aXRlbSByb3c9IjIwIiBjb2x1bW49IjEiPgorICAgICAg ICAgICAgPHdpZGdldCBjbGFzcz0iUUNoZWNrQm94IiBuYW1lPSJleGFjdCI+CisgICAgICAgICAg ICAgPHByb3BlcnR5IG5hbWU9InRvb2xUaXAiPgorICAgICAgICAgICAgICA8c3RyaW5nPklmIGVu YWJsZWQsIHByZXNlcnZlIHRoZSBleGFjdCBSR0IgdmFsdWVzIHVuZGVyIHRyYW5zcGFyZW50IGFy ZWFzLiBPdGhlcndpc2UsIGRpc2NhcmQgdGhpcyBpbnZpc2libGUgUkdCIGluZm9ybWF0aW9uIGZv ciBiZXR0ZXIgY29tcHJlc3Npb24uIFRoZSBkZWZhdWx0IGlzIGRpc2FibGVkLjwvc3RyaW5nPgor ICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRl eHQiPgorICAgICAgICAgICAgICA8c3RyaW5nPkVuYWJsZWQ8L3N0cmluZz4KKyAgICAgICAgICAg ICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgPC93aWRnZXQ+CisgICAgICAgICAgIDwvaXRlbT4K KyAgICAgICAgICAgPGl0ZW0gcm93PSIyMSIgY29sdW1uPSIwIj4KKyAgICAgICAgICAgIDx3aWRn ZXQgY2xhc3M9IlFMYWJlbCIgbmFtZT0ibGJsVXNlU2hhcnBZVVYiPgorICAgICAgICAgICAgIDxw cm9wZXJ0eSBuYW1lPSJ0b29sVGlwIj4KKyAgICAgICAgICAgICAgPHN0cmluZz5JZiBlbmFibGVk LCBhbGxvd3MgdXNlIG9mIHRoZSBzaGFycCAoYW5kIHNsb3cpIFJHQiB0byBZVVYgY29udmVyc2lv bi48L3N0cmluZz4KKyAgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJ0ZXh0Ij4KKyAgICAgICAgICAgICAgPHN0cmluZz5Vc2UgU2hhcnAgWVVWPC9z dHJpbmc+CisgICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgIDwvd2lkZ2V0Pgor ICAgICAgICAgICA8L2l0ZW0+CisgICAgICAgICAgIDxpdGVtIHJvdz0iMjEiIGNvbHVtbj0iMSI+ CisgICAgICAgICAgICA8d2lkZ2V0IGNsYXNzPSJRQ2hlY2tCb3giIG5hbWU9InVzZVNoYXJwWVVW Ij4KKyAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idG9vbFRpcCI+CisgICAgICAgICAgICAg IDxzdHJpbmc+SWYgZW5hYmxlZCwgYWxsb3dzIHVzZSBvZiB0aGUgc2hhcnAgKGFuZCBzbG93KSBS R0IgdG8gWVVWIGNvbnZlcnNpb24uPC9zdHJpbmc+CisgICAgICAgICAgICAgPC9wcm9wZXJ0eT4K KyAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idGV4dCI+CisgICAgICAgICAgICAgIDxzdHJp bmc+RW5hYmxlZDwvc3RyaW5nPgorICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAg ICA8L3dpZGdldD4KKyAgICAgICAgICAgPC9pdGVtPgorICAgICAgICAgICA8aXRlbSByb3c9IjIy IiBjb2x1bW49IjAiPgorICAgICAgICAgICAgPHdpZGdldCBjbGFzcz0iUUxhYmVsIiBuYW1lPSJs YmxRTWluIj4KKyAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idG9vbFRpcCI+CisgICAgICAg ICAgICAgIDxzdHJpbmc+TWluaW11bSBwZXJtaXNzaWJsZSBxdWFsaXR5IGZhY3Rvci4gRGVmYXVs dCBpcyAwLjwvc3RyaW5nPgorICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICAg PHByb3BlcnR5IG5hbWU9InRleHQiPgorICAgICAgICAgICAgICA8c3RyaW5nPk1pbmltdW0gUXVh bGl0eTwvc3RyaW5nPgorICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICA8L3dp ZGdldD4KKyAgICAgICAgICAgPC9pdGVtPgorICAgICAgICAgICA8aXRlbSByb3c9IjIyIiBjb2x1 bW49IjEiPgorICAgICAgICAgICAgPHdpZGdldCBjbGFzcz0iS2lzU2xpZGVyU3BpbkJveCIgbmFt ZT0icU1pbiI+CisgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvb2xUaXAiPgorICAgICAg ICAgICAgICA8c3RyaW5nPk1pbmltdW0gcGVybWlzc2libGUgcXVhbGl0eSBmYWN0b3IuIERlZmF1 bHQgaXMgMC48L3N0cmluZz4KKyAgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICAg IDxwcm9wZXJ0eSBuYW1lPSJzdWZmaXgiPgorICAgICAgICAgICAgICA8c3RyaW5nPiU8L3N0cmlu Zz4KKyAgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1l PSJtYXhpbXVtIj4KKyAgICAgICAgICAgICAgPG51bWJlcj4xMDA8L251bWJlcj4KKyAgICAgICAg ICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgPC93aWRnZXQ+CisgICAgICAgICAgIDwvaXRl bT4KKyAgICAgICAgICAgPGl0ZW0gcm93PSIyMyIgY29sdW1uPSIwIj4KKyAgICAgICAgICAgIDx3 aWRnZXQgY2xhc3M9IlFMYWJlbCIgbmFtZT0ibGJsUU1heCI+CisgICAgICAgICAgICAgPHByb3Bl cnR5IG5hbWU9InRvb2xUaXAiPgorICAgICAgICAgICAgICA8c3RyaW5nPk1heGltdW0gcGVybWlz c2libGUgcXVhbGl0eSBmYWN0b3IuIERlZmF1bHQgaXMgMTAwLjwvc3RyaW5nPgorICAgICAgICAg ICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRleHQiPgorICAg ICAgICAgICAgICA8c3RyaW5nPk1heGltdW0gUXVhbGl0eTwvc3RyaW5nPgorICAgICAgICAgICAg IDwvcHJvcGVydHk+CisgICAgICAgICAgICA8L3dpZGdldD4KKyAgICAgICAgICAgPC9pdGVtPgor ICAgICAgICAgICA8aXRlbSByb3c9IjIzIiBjb2x1bW49IjEiPgorICAgICAgICAgICAgPHdpZGdl dCBjbGFzcz0iS2lzU2xpZGVyU3BpbkJveCIgbmFtZT0icU1heCI+CisgICAgICAgICAgICAgPHBy b3BlcnR5IG5hbWU9InRvb2xUaXAiPgorICAgICAgICAgICAgICA8c3RyaW5nPk1heGltdW0gcGVy bWlzc2libGUgcXVhbGl0eSBmYWN0b3IuIERlZmF1bHQgaXMgMTAwLjwvc3RyaW5nPgorICAgICAg ICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InN1ZmZpeCI+ CisgICAgICAgICAgICAgIDxzdHJpbmc+JTwvc3RyaW5nPgorICAgICAgICAgICAgIDwvcHJvcGVy dHk+CisgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9Im1heGltdW0iPgorICAgICAgICAgICAg ICA8bnVtYmVyPjEwMDwvbnVtYmVyPgorICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAg ICAgICAgPHByb3BlcnR5IG5hbWU9InZhbHVlIj4KKyAgICAgICAgICAgICAgPG51bWJlcj4xMDA8 L251bWJlcj4KKyAgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgPC93aWRnZXQ+ CisgICAgICAgICAgIDwvaXRlbT4KKyAgICAgICAgICA8L2xheW91dD4KKyAgICAgICAgIDwvd2lk Z2V0PgorICAgICAgICA8L3dpZGdldD4KKyAgICAgICA8L2l0ZW0+CisgICAgICA8L2xheW91dD4K KyAgICAgPC93aWRnZXQ+CisgICAgPC93aWRnZXQ+CisgICA8L2l0ZW0+CisgIDwvbGF5b3V0Pgor IDwvd2lkZ2V0PgorIDxjdXN0b213aWRnZXRzPgorICA8Y3VzdG9td2lkZ2V0PgorICAgPGNsYXNz Pktpc1NsaWRlclNwaW5Cb3g8L2NsYXNzPgorICAgPGV4dGVuZHM+UVNwaW5Cb3g8L2V4dGVuZHM+ CisgICA8aGVhZGVyIGxvY2F0aW9uPSJnbG9iYWwiPmtpc19zbGlkZXJfc3Bpbl9ib3guaDwvaGVh ZGVyPgorICA8L2N1c3RvbXdpZGdldD4KKyAgPGN1c3RvbXdpZGdldD4KKyAgIDxjbGFzcz5LaXNE b3VibGVTbGlkZXJTcGluQm94PC9jbGFzcz4KKyAgIDxleHRlbmRzPlFTcGluQm94PC9leHRlbmRz PgorICAgPGhlYWRlciBsb2NhdGlvbj0iZ2xvYmFsIj5raXNfc2xpZGVyX3NwaW5fYm94Lmg8L2hl YWRlcj4KKyAgPC9jdXN0b213aWRnZXQ+CisgIDxjdXN0b213aWRnZXQ+CisgICA8Y2xhc3M+S2lz RG91YmxlUGFyc2VVbml0U3BpbkJveDwvY2xhc3M+CisgICA8ZXh0ZW5kcz5RRG91YmxlU3BpbkJv eDwvZXh0ZW5kcz4KKyAgIDxoZWFkZXIgbG9jYXRpb249Imdsb2JhbCI+a2lzX2RvdWJsZV9wYXJz ZV91bml0X3NwaW5fYm94Lmg8L2hlYWRlcj4KKyAgPC9jdXN0b213aWRnZXQ+CisgPC9jdXN0b213 aWRnZXRzPgorIDxyZXNvdXJjZXMvPgorIDxjb25uZWN0aW9ucy8+Cis8L3VpPgpkaWZmIC0tZ2l0 IGEvcGx1Z2lucy9pbXBleC93ZWJwL2RsZ193ZWJwX2ltcG9ydC5jcHAgYi9wbHVnaW5zL2ltcGV4 L3dlYnAvZGxnX3dlYnBfaW1wb3J0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwLi5jOTUxZTRjYmQxCi0tLSAvZGV2L251bGwKKysrIGIvcGx1Z2lucy9pbXBleC93ZWJw L2RsZ193ZWJwX2ltcG9ydC5jcHAKQEAgLTAsMCArMSwxODEgQEAKKy8qCisgKiBUaGlzIGZpbGUg aXMgcGFydCBvZiBLcml0YQorICoKKyAqIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IDIwMjEgTC4g RS4gU2Vnb3ZpYSA8YW15QGFteXNwYXJrLm1lPgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wLW9yLWxhdGVyCisgKi8KKworI2luY2x1ZGUgPHdlYnAvZW5jb2RlLmg+CisK KyNpbmNsdWRlIDxraXNfcHJvcGVydGllc19jb25maWd1cmF0aW9uLmg+CisKKyNpbmNsdWRlICJk bGdfd2VicF9pbXBvcnQuaCIKKworS2lzRGxnV2ViUEltcG9ydDo6S2lzRGxnV2ViUEltcG9ydCgp CisgICAgOiBLb0RpYWxvZygpCisgICAgLCBtX3Jhd1dpZGdldChuZXcgRGxnV2ViUEltcG9ydCh0 aGlzKSkKKyAgICAsIG1fa2VlcEFzcGVjdChmYWxzZSkKKyAgICAsIG1fYXNwZWN0UmF0aW8oMSkK KyAgICAsIG1fbmV3V2lkdGgoMCkKKyAgICAsIG1fbmV3SGVpZ2h0KDApCit7CisgICAgZW5hYmxl QnV0dG9uQXBwbHkoZmFsc2UpOworCisgICAgc2V0TWFpbldpZGdldChtX3Jhd1dpZGdldC5nZXQo KSk7CisKKyAgICBtX3Jhd1dpZGdldC0+aGFzQW5pbWF0aW9uLT5zZXRBdHRyaWJ1dGUoUXQ6OldB X1RyYW5zcGFyZW50Rm9yTW91c2VFdmVudHMpOworICAgIG1fcmF3V2lkZ2V0LT5oYXNUcmFuc3Bh cmVuY3ktPnNldEF0dHJpYnV0ZShRdDo6V0FfVHJhbnNwYXJlbnRGb3JNb3VzZUV2ZW50cyk7Cisg ICAgbV9yYXdXaWRnZXQtPmlzTG9zc2xlc3MtPnNldEF0dHJpYnV0ZShRdDo6V0FfVHJhbnNwYXJl bnRGb3JNb3VzZUV2ZW50cyk7CisKKyAgICBtX3Jhd1dpZGdldC0+Y3JvcC0+c2V0Q2hlY2tlZChm YWxzZSk7CisgICAgbV9yYXdXaWRnZXQtPmNyb3BYLT5zZXRVbml0KEtvVW5pdChLb1VuaXQ6OlBp eGVsKSk7CisgICAgbV9yYXdXaWRnZXQtPmNyb3BZLT5zZXRVbml0KEtvVW5pdChLb1VuaXQ6OlBp eGVsKSk7CisgICAgbV9yYXdXaWRnZXQtPmNyb3BXaWR0aC0+c2V0VW5pdChLb1VuaXQoS29Vbml0 OjpQaXhlbCkpOworICAgIG1fcmF3V2lkZ2V0LT5jcm9wSGVpZ2h0LT5zZXRVbml0KEtvVW5pdChL b1VuaXQ6OlBpeGVsKSk7CisKKyAgICBtX3dpZHRoVW5pdE1hbmFnZXIgPSBuZXcgS2lzRG9jdW1l bnRBd2FyZVNwaW5Cb3hVbml0TWFuYWdlcih0aGlzKTsKKyAgICBtX2hlaWdodFVuaXRNYW5hZ2Vy ID0gbmV3IEtpc0RvY3VtZW50QXdhcmVTcGluQm94VW5pdE1hbmFnZXIodGhpcywgS2lzRG9jdW1l bnRBd2FyZVNwaW5Cb3hVbml0TWFuYWdlcjo6UElYX0RJUl9ZKTsKKyAgICBtX3dpZHRoVW5pdE1h bmFnZXItPnNldEFwcGFyZW50VW5pdEZyb21TeW1ib2woInB4Iik7CisgICAgbV9oZWlnaHRVbml0 TWFuYWdlci0+c2V0QXBwYXJlbnRVbml0RnJvbVN5bWJvbCgicHgiKTsKKworICAgIG1fcmF3V2lk Z2V0LT5zY2FsZS0+c2V0Q2hlY2tlZChmYWxzZSk7CisgICAgbV9yYXdXaWRnZXQtPmFzcGVjdFJh dGlvQnRuLT5zZXRLZWVwQXNwZWN0UmF0aW8obV9rZWVwQXNwZWN0KTsKKyAgICBtX3Jhd1dpZGdl dC0+Y29uc3RyYWluUHJvcG9ydGlvbnNDa2ItPnNldENoZWNrZWQobV9rZWVwQXNwZWN0KTsKKyAg ICBtX3Jhd1dpZGdldC0+bmV3V2lkdGhEb3VibGUtPnNldFVuaXRNYW5hZ2VyKG1fd2lkdGhVbml0 TWFuYWdlcik7CisgICAgbV9yYXdXaWRnZXQtPm5ld0hlaWdodERvdWJsZS0+c2V0VW5pdE1hbmFn ZXIobV9oZWlnaHRVbml0TWFuYWdlcik7CisgICAgbV9yYXdXaWRnZXQtPm5ld1dpZHRoRG91Ymxl LT5zZXREZWNpbWFscygyKTsKKyAgICBtX3Jhd1dpZGdldC0+bmV3SGVpZ2h0RG91YmxlLT5zZXRE ZWNpbWFscygyKTsKKyAgICBtX3Jhd1dpZGdldC0+bmV3V2lkdGhEb3VibGUtPnNldERpc3BsYXlV bml0KGZhbHNlKTsKKyAgICBtX3Jhd1dpZGdldC0+bmV3SGVpZ2h0RG91YmxlLT5zZXREaXNwbGF5 VW5pdChmYWxzZSk7CisgICAgbV9yYXdXaWRnZXQtPndpZHRoVW5pdC0+c2V0TW9kZWwobV93aWR0 aFVuaXRNYW5hZ2VyKTsKKyAgICBtX3Jhd1dpZGdldC0+aGVpZ2h0VW5pdC0+c2V0TW9kZWwobV9o ZWlnaHRVbml0TWFuYWdlcik7CisgICAgbV9yYXdXaWRnZXQtPndpZHRoVW5pdC0+c2V0Q3VycmVu dEluZGV4KG1fd2lkdGhVbml0TWFuYWdlci0+Z2V0c1VuaXRTeW1ib2xMaXN0KCkuaW5kZXhPZiht X3dpZHRoVW5pdE1hbmFnZXItPmdldEFwcGFyZW50VW5pdFN5bWJvbCgpKSk7CisgICAgbV9yYXdX aWRnZXQtPmhlaWdodFVuaXQtPnNldEN1cnJlbnRJbmRleChtX2hlaWdodFVuaXRNYW5hZ2VyLT5n ZXRzVW5pdFN5bWJvbExpc3QoKS5pbmRleE9mKG1fd2lkdGhVbml0TWFuYWdlci0+Z2V0QXBwYXJl bnRVbml0U3ltYm9sKCkpKTsKKworICAgIGNvbm5lY3QobV9yYXdXaWRnZXQtPm5ld1dpZHRoRG91 YmxlLCBTSUdOQUwodmFsdWVDaGFuZ2VkUHQoZG91YmxlKSksIHRoaXMsIFNMT1Qoc2xvdFdpZHRo Q2hhbmdlZChkb3VibGUpKSk7CisgICAgY29ubmVjdChtX3Jhd1dpZGdldC0+bmV3SGVpZ2h0RG91 YmxlLCBTSUdOQUwodmFsdWVDaGFuZ2VkUHQoZG91YmxlKSksIHRoaXMsIFNMT1Qoc2xvdEhlaWdo dENoYW5nZWQoZG91YmxlKSkpOworICAgIGNvbm5lY3QobV93aWR0aFVuaXRNYW5hZ2VyLCBTSUdO QUwodW5pdENoYW5nZWQoaW50KSksIG1fcmF3V2lkZ2V0LT53aWR0aFVuaXQsIFNMT1Qoc2V0Q3Vy cmVudEluZGV4KGludCkpKTsKKyAgICBjb25uZWN0KG1faGVpZ2h0VW5pdE1hbmFnZXIsIFNJR05B TCh1bml0Q2hhbmdlZChpbnQpKSwgbV9yYXdXaWRnZXQtPmhlaWdodFVuaXQsIFNMT1Qoc2V0Q3Vy cmVudEluZGV4KGludCkpKTsKKyAgICBjb25uZWN0KG1fcmF3V2lkZ2V0LT53aWR0aFVuaXQsIFNJ R05BTChjdXJyZW50SW5kZXhDaGFuZ2VkKGludCkpLCBtX3dpZHRoVW5pdE1hbmFnZXIsIFNMT1Qo c2VsZWN0QXBwYXJlbnRVbml0RnJvbUluZGV4KGludCkpKTsKKyAgICBjb25uZWN0KG1fcmF3V2lk Z2V0LT5oZWlnaHRVbml0LCBTSUdOQUwoY3VycmVudEluZGV4Q2hhbmdlZChpbnQpKSwgbV9oZWln aHRVbml0TWFuYWdlciwgU0xPVChzZWxlY3RBcHBhcmVudFVuaXRGcm9tSW5kZXgoaW50KSkpOwor ICAgIGNvbm5lY3QobV9yYXdXaWRnZXQtPmNvbnN0cmFpblByb3BvcnRpb25zQ2tiLCBTSUdOQUwo dG9nZ2xlZChib29sKSksIHRoaXMsIFNMT1Qoc2xvdEFzcGVjdENoYW5nZWQoYm9vbCkpKTsKKyAg ICBjb25uZWN0KG1fcmF3V2lkZ2V0LT5hc3BlY3RSYXRpb0J0biwgU0lHTkFMKGtlZXBBc3BlY3RS YXRpb0NoYW5nZWQoYm9vbCkpLCB0aGlzLCBTTE9UKHNsb3RBc3BlY3RDaGFuZ2VkKGJvb2wpKSk7 Cit9CisKK3ZvaWQgS2lzRGxnV2ViUEltcG9ydDo6c2xvdEFzcGVjdENoYW5nZWQoYm9vbCBrZWVw KQoreworICAgIG1fcmF3V2lkZ2V0LT5hc3BlY3RSYXRpb0J0bi0+YmxvY2tTaWduYWxzKHRydWUp OworICAgIG1fcmF3V2lkZ2V0LT5jb25zdHJhaW5Qcm9wb3J0aW9uc0NrYi0+YmxvY2tTaWduYWxz KHRydWUpOworCisgICAgbV9yYXdXaWRnZXQtPmFzcGVjdFJhdGlvQnRuLT5zZXRLZWVwQXNwZWN0 UmF0aW8oa2VlcCk7CisgICAgbV9yYXdXaWRnZXQtPmNvbnN0cmFpblByb3BvcnRpb25zQ2tiLT5z ZXRDaGVja2VkKGtlZXApOworCisgICAgbV9yYXdXaWRnZXQtPmFzcGVjdFJhdGlvQnRuLT5ibG9j a1NpZ25hbHMoZmFsc2UpOworICAgIG1fcmF3V2lkZ2V0LT5jb25zdHJhaW5Qcm9wb3J0aW9uc0Nr Yi0+YmxvY2tTaWduYWxzKGZhbHNlKTsKKworICAgIG1fa2VlcEFzcGVjdCA9IGtlZXA7Cit9CisK K3ZvaWQgS2lzRGxnV2ViUEltcG9ydDo6c2xvdFdpZHRoQ2hhbmdlZChkb3VibGUgdikKK3sKKyAg ICAvLyB0aGlzIHNsb3QgcmVjZWl2IHZhbHVlcyBpbiBwdCBmcm9tIHRoZSB1bml0c3BpbmJveCwg c28ganVzdCB1c2UgdGhlIHJlc29sdXRpb24uCisgICAgY29uc3QgZG91YmxlIHJlc1ZhbHVlID0g diAqIG1fd2lkdGhVbml0TWFuYWdlci0+Z2V0Q29udmVyc2lvbkZhY3RvcihLaXNTcGluQm94VW5p dE1hbmFnZXI6OkxFTkdUSCwgInB4Iik7CisgICAgbV9uZXdXaWR0aCA9IHFSb3VuZChyZXNWYWx1 ZSk7CisKKyAgICBpZiAobV9rZWVwQXNwZWN0KSB7CisgICAgICAgIG1fbmV3SGVpZ2h0ID0gcVJv dW5kKG1fbmV3V2lkdGggLyBtX2FzcGVjdFJhdGlvKTsKKyAgICAgICAgbV9yYXdXaWRnZXQtPm5l d0hlaWdodERvdWJsZS0+YmxvY2tTaWduYWxzKHRydWUpOworICAgICAgICBtX3Jhd1dpZGdldC0+ bmV3SGVpZ2h0RG91YmxlLT5jaGFuZ2VWYWx1ZSh2ICogbV9hc3BlY3RSYXRpbyk7CisgICAgICAg IG1fcmF3V2lkZ2V0LT5uZXdIZWlnaHREb3VibGUtPmJsb2NrU2lnbmFscyhmYWxzZSk7CisgICAg fSBlbHNlIHsKKyAgICAgICAgbV9hc3BlY3RSYXRpbyA9IG1fbmV3V2lkdGggLyBtX25ld0hlaWdo dDsKKyAgICB9Cit9CisKK3ZvaWQgS2lzRGxnV2ViUEltcG9ydDo6c2xvdEhlaWdodENoYW5nZWQo ZG91YmxlIHYpCit7CisgICAgLy8gdGhpcyBzbG90IHJlY2VpdiB2YWx1ZXMgaW4gcHQgZnJvbSB0 aGUgdW5pdHNwaW5ib3gsIHNvIGp1c3QgdXNlIHRoZSByZXNvbHV0aW9uLgorICAgIGNvbnN0IGRv dWJsZSByZXNWYWx1ZSA9IHYgKiBtX2hlaWdodFVuaXRNYW5hZ2VyLT5nZXRDb252ZXJzaW9uRmFj dG9yKEtpc1NwaW5Cb3hVbml0TWFuYWdlcjo6TEVOR1RILCAicHgiKTsKKyAgICBtX25ld0hlaWdo dCA9IHFSb3VuZChyZXNWYWx1ZSk7CisKKyAgICBpZiAobV9rZWVwQXNwZWN0KSB7CisgICAgICAg IG1fbmV3V2lkdGggPSBxUm91bmQobV9uZXdIZWlnaHQgKiBtX2FzcGVjdFJhdGlvKTsKKyAgICAg ICAgbV9yYXdXaWRnZXQtPm5ld1dpZHRoRG91YmxlLT5ibG9ja1NpZ25hbHModHJ1ZSk7CisgICAg ICAgIG1fcmF3V2lkZ2V0LT5uZXdXaWR0aERvdWJsZS0+Y2hhbmdlVmFsdWUodiAqIG1fYXNwZWN0 UmF0aW8pOworICAgICAgICBtX3Jhd1dpZGdldC0+bmV3V2lkdGhEb3VibGUtPmJsb2NrU2lnbmFs cyhmYWxzZSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgbV9hc3BlY3RSYXRpbyA9IG1fbmV3V2lk dGggLyBtX25ld0hlaWdodDsKKyAgICB9Cit9CisKK3ZvaWQgS2lzRGxnV2ViUEltcG9ydDo6c2V0 Q29uZmlndXJhdGlvbihjb25zdCBLaXNQcm9wZXJ0aWVzQ29uZmlndXJhdGlvblNQIGNmZykKK3sK KyAgICBtX3Jhd1dpZGdldC0+b3JpZ2luYWxIZWlnaHQtPnNldFRleHQoaTE4bigiJTEgcHgiLCBj ZmctPmdldEludCgib3JpZ2luYWxfaGVpZ2h0IiwgMCkpKTsKKyAgICBtX3Jhd1dpZGdldC0+b3Jp Z2luYWxXaWR0aC0+c2V0VGV4dChpMThuKCIlMSBweCIsIGNmZy0+Z2V0SW50KCJvcmlnaW5hbF93 aWR0aCIsIDApKSk7CisgICAgbV9yYXdXaWRnZXQtPm9yaWdpbmFsV2lkdGgtPnNldFRleHQoaTE4 bigiJTEgcHgiLCBjZmctPmdldEludCgib3JpZ2luYWxfd2lkdGgiLCAwKSkpOworCisgICAgbV9y YXdXaWRnZXQtPmhhc1RyYW5zcGFyZW5jeS0+c2V0Q2hlY2tlZChjZmctPmdldEJvb2woImhhc190 cmFuc3BhcmVuY3kiLCBmYWxzZSkpOworICAgIHN3aXRjaCAoY2ZnLT5nZXRJbnQoImZvcm1hdCIs IDApKSB7CisgICAgICAgIGNhc2UgMToKKyAgICAgICAgICAgIG1fcmF3V2lkZ2V0LT5pc0xvc3Ns ZXNzLT5zZXRDaGVja1N0YXRlKFF0OjpVbmNoZWNrZWQpOworICAgICAgICAgICAgYnJlYWs7Cisg ICAgICAgIGNhc2UgMjoKKyAgICAgICAgICAgIG1fcmF3V2lkZ2V0LT5pc0xvc3NsZXNzLT5zZXRD aGVja1N0YXRlKFF0OjpDaGVja2VkKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNl IDA6CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBtX3Jhd1dpZGdldC0+aXNMb3NzbGVz cy0+c2V0Q2hlY2tTdGF0ZShRdDo6UGFydGlhbGx5Q2hlY2tlZCk7CisgICAgICAgICAgICBicmVh azsKKyAgICB9CisgICAgbV9yYXdXaWRnZXQtPmhhc0FuaW1hdGlvbi0+c2V0Q2hlY2tlZChjZmct PmdldEJvb2woImhhc19hbmltYXRpb24iLCBmYWxzZSkpOworCisgICAgbV9yYXdXaWRnZXQtPmNy b3AtPnNldENoZWNrZWQoY2ZnLT5nZXRCb29sKCJ1c2VfY3JvcHBpbmciLCBmYWxzZSkpOworICAg IG1fcmF3V2lkZ2V0LT5jcm9wWC0+c2V0VmFsdWUoY2ZnLT5nZXREb3VibGUoImNyb3BfbGVmdCIs IDApKTsKKyAgICBtX3Jhd1dpZGdldC0+Y3JvcFktPnNldFZhbHVlKGNmZy0+Z2V0RG91YmxlKCJj cm9wX3RvcCIsIDApKTsKKyAgICBtX3Jhd1dpZGdldC0+Y3JvcFdpZHRoLT5zZXRWYWx1ZShjZmct PmdldERvdWJsZSgiY3JvcF93aWR0aCIsIDApKTsKKyAgICBtX3Jhd1dpZGdldC0+Y3JvcEhlaWdo dC0+c2V0VmFsdWUoY2ZnLT5nZXREb3VibGUoImNyb3BfaGVpZ2h0IiwgMCkpOworCisgICAgbV9y YXdXaWRnZXQtPnNjYWxlLT5zZXRDaGVja2VkKGNmZy0+Z2V0Qm9vbCgidXNlX3NjYWxpbmciLCBm YWxzZSkpOworICAgIG1fcmF3V2lkZ2V0LT5uZXdXaWR0aERvdWJsZS0+c2V0VmFsdWUoY2ZnLT5n ZXREb3VibGUoInNjYWxlZF93aWR0aCIsIDApKTsKKyAgICBtX3Jhd1dpZGdldC0+bmV3SGVpZ2h0 RG91YmxlLT5zZXRWYWx1ZShjZmctPmdldERvdWJsZSgic2NhbGVkX2hlaWdodCIsIDApKTsKKwor ICAgIG1fcmF3V2lkZ2V0LT5mbGlwLT5zZXRDaGVja2VkKGNmZy0+Z2V0Qm9vbCgiZmxpcCIsIGZh bHNlKSk7CisKKyAgICBtX3Jhd1dpZGdldC0+ZGl0aGVyaW5nLT5zZXRDaGVja2VkKGNmZy0+Z2V0 Qm9vbCgidXNlX2RpdGhlcmluZyIsIGZhbHNlKSk7CisgICAgbV9yYXdXaWRnZXQtPmRpdGhlcmlu Z1N0cmVuZ3RoLT5zZXRWYWx1ZShjZmctPmdldEludCgiZGl0aGVyaW5nX3N0cmVuZ3RoIiwgMCkp OworICAgIG1fcmF3V2lkZ2V0LT5hbHBoYURpdGhlcmluZ1N0cmVuZ3RoLT5zZXRWYWx1ZShjZmct PmdldEludCgiYWxwaGFfZGl0aGVyaW5nX3N0cmVuZ3RoIiwgMCkpOworCisgICAgbV9yYXdXaWRn ZXQtPm5vRmFuY3lVcHNhbXBsaW5nLT5zZXRDaGVja2VkKGNmZy0+Z2V0Qm9vbCgibm9fZmFuY3lf dXBzYW1wbGluZyIsIGZhbHNlKSk7CisgICAgbV9yYXdXaWRnZXQtPnVzZVRocmVhZHMtPnNldENo ZWNrZWQoY2ZnLT5nZXRCb29sKCJ1c2VfdGhyZWFkcyIsIGZhbHNlKSk7Cit9CisKK0tpc1Byb3Bl cnRpZXNDb25maWd1cmF0aW9uU1AgS2lzRGxnV2ViUEltcG9ydDo6Y29uZmlndXJhdGlvbigpIGNv bnN0Cit7CisgICAgS2lzUHJvcGVydGllc0NvbmZpZ3VyYXRpb25TUCBjZmcobmV3IEtpc1Byb3Bl cnRpZXNDb25maWd1cmF0aW9uKCkpOworCisgICAgY29uc3QgZG91YmxlIGNvbnZlcnNpb25GYWN0 b3JXIHttX3dpZHRoVW5pdE1hbmFnZXItPmdldENvbnZlcnNpb25GYWN0b3IoS2lzU3BpbkJveFVu aXRNYW5hZ2VyOjpMRU5HVEgsICJweCIpfTsKKworICAgIGNvbnN0IGRvdWJsZSBjb252ZXJzaW9u RmFjdG9ySCB7bV9oZWlnaHRVbml0TWFuYWdlci0+Z2V0Q29udmVyc2lvbkZhY3RvcihLaXNTcGlu Qm94VW5pdE1hbmFnZXI6OkxFTkdUSCwgInB4Iil9OworCisgICAgY2ZnLT5zZXRQcm9wZXJ0eSgi dXNlX2Nyb3BwaW5nIiwgbV9yYXdXaWRnZXQtPmNyb3AtPmlzQ2hlY2tlZCgpKTsKKyAgICBjZmct PnNldFByb3BlcnR5KCJjcm9wX2xlZnQiLCBtX3Jhd1dpZGdldC0+Y3JvcFgtPnZhbHVlKCkpOwor ICAgIGNmZy0+c2V0UHJvcGVydHkoImNyb3BfdG9wIiwgbV9yYXdXaWRnZXQtPmNyb3BZLT52YWx1 ZSgpKTsKKyAgICBjZmctPnNldFByb3BlcnR5KCJjcm9wX3dpZHRoIiwgbV9yYXdXaWRnZXQtPmNy b3BXaWR0aC0+dmFsdWUoKSk7CisgICAgY2ZnLT5zZXRQcm9wZXJ0eSgiY3JvcF9oZWlnaHQiLCBt X3Jhd1dpZGdldC0+Y3JvcEhlaWdodC0+dmFsdWUoKSk7CisKKyAgICBjZmctPnNldFByb3BlcnR5 KCJ1c2Vfc2NhbGluZyIsIG1fcmF3V2lkZ2V0LT5zY2FsZS0+aXNDaGVja2VkKCkpOworICAgIGNm Zy0+c2V0UHJvcGVydHkoInNjYWxlZF93aWR0aCIsIHFSb3VuZChtX3Jhd1dpZGdldC0+bmV3V2lk dGhEb3VibGUtPnZhbHVlKCkgKiBjb252ZXJzaW9uRmFjdG9yVykpOworICAgIGNmZy0+c2V0UHJv cGVydHkoInNjYWxlZF9oZWlnaHQiLCBxUm91bmQobV9yYXdXaWRnZXQtPm5ld0hlaWdodERvdWJs ZS0+dmFsdWUoKSAqIGNvbnZlcnNpb25GYWN0b3JIKSk7CisKKyAgICBjZmctPnNldFByb3BlcnR5 KCJmbGlwIiwgbV9yYXdXaWRnZXQtPmZsaXAtPmlzQ2hlY2tlZCgpKTsKKworICAgIGNmZy0+c2V0 UHJvcGVydHkoInVzZV9kaXRoZXJpbmciLCBtX3Jhd1dpZGdldC0+ZGl0aGVyaW5nLT5pc0NoZWNr ZWQoKSk7CisgICAgY2ZnLT5zZXRQcm9wZXJ0eSgiZGl0aGVyaW5nX3N0cmVuZ3RoIiwgbV9yYXdX aWRnZXQtPmRpdGhlcmluZ1N0cmVuZ3RoLT52YWx1ZSgpKTsKKyAgICBjZmctPnNldFByb3BlcnR5 KCJhbHBoYV9kaXRoZXJpbmdfc3RyZW5ndGgiLCBtX3Jhd1dpZGdldC0+YWxwaGFEaXRoZXJpbmdT dHJlbmd0aC0+dmFsdWUoKSk7CisKKyAgICBjZmctPnNldFByb3BlcnR5KCJub19mYW5jeV91cHNh bXBsaW5nIiwgbV9yYXdXaWRnZXQtPm5vRmFuY3lVcHNhbXBsaW5nLT5pc0NoZWNrZWQoKSk7Cisg ICAgY2ZnLT5zZXRQcm9wZXJ0eSgidXNlX3RocmVhZHMiLCBtX3Jhd1dpZGdldC0+dXNlVGhyZWFk cy0+aXNDaGVja2VkKCkpOworCisgICAgcmV0dXJuIGNmZzsKK30KZGlmZiAtLWdpdCBhL3BsdWdp bnMvaW1wZXgvd2VicC9kbGdfd2VicF9pbXBvcnQuaCBiL3BsdWdpbnMvaW1wZXgvd2VicC9kbGdf d2VicF9pbXBvcnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi44YjBj Y2U4MzMwCi0tLSAvZGV2L251bGwKKysrIGIvcGx1Z2lucy9pbXBleC93ZWJwL2RsZ193ZWJwX2lt cG9ydC5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBLcml0 YQorICoKKyAqIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IDIwMjEgTC4gRS4gU2Vnb3ZpYSA8YW15 QGFteXNwYXJrLm1lPgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9y LWxhdGVyCisgKi8KKworI2lmbmRlZiBETEdfV0VCUF9JTVBPUlRfSAorI2RlZmluZSBETEdfV0VC UF9JTVBPUlRfSAorCisjaW5jbHVkZSA8UVNjb3BlZFBvaW50ZXI+CisKKyNpbmNsdWRlIDxLb0Rp YWxvZy5oPgorI2luY2x1ZGUgPGtpc19kb2N1bWVudF9hd2FyZV9zcGluX2JveF91bml0X21hbmFn ZXIuaD4KKyNpbmNsdWRlIDxraXNfcHJvcGVydGllc19jb25maWd1cmF0aW9uLmg+CisKKyNpbmNs dWRlICJ1aV9kbGdfd2VicF9pbXBvcnQuaCIKKworY2xhc3MgRGxnV2ViUEltcG9ydCA6IHB1Ymxp YyBRV2lkZ2V0LCBwdWJsaWMgVWk6OkRsZ1dlYlBJbXBvcnQKK3sKKyAgICBRX09CSkVDVAorcHVi bGljOgorICAgIERsZ1dlYlBJbXBvcnQoUVdpZGdldCAqcGFyZW50KQorICAgICAgICA6IFFXaWRn ZXQocGFyZW50KQorICAgIHsKKyAgICAgICAgc2V0dXBVaSh0aGlzKTsKKyAgICB9Cit9OworCitj bGFzcyBLaXNEbGdXZWJQSW1wb3J0IDogcHVibGljIEtvRGlhbG9nCit7CisgICAgUV9PQkpFQ1QK KworcHVibGljOgorICAgIEtpc0RsZ1dlYlBJbXBvcnQoKTsKKyAgICB2b2lkIHNldENvbmZpZ3Vy YXRpb24oY29uc3QgS2lzUHJvcGVydGllc0NvbmZpZ3VyYXRpb25TUCBjZmcpOworICAgIEtpc1By b3BlcnRpZXNDb25maWd1cmF0aW9uU1AgY29uZmlndXJhdGlvbigpIGNvbnN0OworCitwcml2YXRl IFFfU0xPVFM6CisgICAgdm9pZCBzbG90QXNwZWN0Q2hhbmdlZChib29sIGtlZXApOworCisgICAg dm9pZCBzbG90V2lkdGhDaGFuZ2VkKGRvdWJsZSB2KTsKKyAgICB2b2lkIHNsb3RIZWlnaHRDaGFu Z2VkKGRvdWJsZSB2KTsKKworcHJpdmF0ZToKKyAgICBRU2NvcGVkUG9pbnRlcjxEbGdXZWJQSW1w b3J0PiBtX3Jhd1dpZGdldDsKKyAgICBLaXNEb2N1bWVudEF3YXJlU3BpbkJveFVuaXRNYW5hZ2Vy ICptX2hlaWdodFVuaXRNYW5hZ2VyOworICAgIEtpc0RvY3VtZW50QXdhcmVTcGluQm94VW5pdE1h bmFnZXIgKm1fd2lkdGhVbml0TWFuYWdlcjsKKyAgICBib29sIG1fa2VlcEFzcGVjdDsKKyAgICBk b3VibGUgbV9hc3BlY3RSYXRpbywgbV9uZXdXaWR0aCwgbV9uZXdIZWlnaHQ7Cit9OworCisjZW5k aWYgLy8gRExHX1dFQlBfRVhQT1JUX0gKZGlmZiAtLWdpdCBhL3BsdWdpbnMvaW1wZXgvd2VicC9k bGdfd2VicF9pbXBvcnQudWkgYi9wbHVnaW5zL2ltcGV4L3dlYnAvZGxnX3dlYnBfaW1wb3J0LnVp Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjZmNWFmYTIxNjEKLS0tIC9k ZXYvbnVsbAorKysgYi9wbHVnaW5zL2ltcGV4L3dlYnAvZGxnX3dlYnBfaW1wb3J0LnVpCkBAIC0w LDAgKzEsNDIxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPHVp IHZlcnNpb249IjQuMCI+CisgPGF1dGhvcj4KKyAgU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogMjAy MSBMLiBFLiBTZWdvdmlhICZsdDthbXlAYW15c3BhcmsubWUmZ3Q7CisgIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMy4wLW9yLWxhdGVyCisgPC9hdXRob3I+CisgPGNsYXNzPkRsZ1dlYlBJ bXBvcnQ8L2NsYXNzPgorIDx3aWRnZXQgY2xhc3M9IlFXaWRnZXQiIG5hbWU9IkRsZ1dlYlBJbXBv cnQiPgorICA8cHJvcGVydHkgbmFtZT0iZ2VvbWV0cnkiPgorICAgPHJlY3Q+CisgICAgPHg+MDwv eD4KKyAgICA8eT4wPC95PgorICAgIDx3aWR0aD4zNzQ8L3dpZHRoPgorICAgIDxoZWlnaHQ+NTUy PC9oZWlnaHQ+CisgICA8L3JlY3Q+CisgIDwvcHJvcGVydHk+CisgIDxwcm9wZXJ0eSBuYW1lPSJz aXplUG9saWN5Ij4KKyAgIDxzaXplcG9saWN5IGhzaXpldHlwZT0iTWluaW11bUV4cGFuZGluZyIg dnNpemV0eXBlPSJNaW5pbXVtRXhwYW5kaW5nIj4KKyAgICA8aG9yc3RyZXRjaD4wPC9ob3JzdHJl dGNoPgorICAgIDx2ZXJzdHJldGNoPjA8L3ZlcnN0cmV0Y2g+CisgICA8L3NpemVwb2xpY3k+Cisg IDwvcHJvcGVydHk+CisgIDxwcm9wZXJ0eSBuYW1lPSJ3aW5kb3dUaXRsZSI+CisgICA8c3RyaW5n PldlYlAgSW1hZ2U8L3N0cmluZz4KKyAgPC9wcm9wZXJ0eT4KKyAgPGxheW91dCBjbGFzcz0iUVZC b3hMYXlvdXQiIG5hbWU9InZlcnRpY2FsTGF5b3V0Ij4KKyAgIDxpdGVtPgorICAgIDx3aWRnZXQg Y2xhc3M9IlFUYWJXaWRnZXQiIG5hbWU9InRhYldpZGdldCI+CisgICAgIDxwcm9wZXJ0eSBuYW1l PSJjdXJyZW50SW5kZXgiPgorICAgICAgPG51bWJlcj4wPC9udW1iZXI+CisgICAgIDwvcHJvcGVy dHk+CisgICAgIDx3aWRnZXQgY2xhc3M9IlFXaWRnZXQiIG5hbWU9ImRpbWVuc2lvbnMiPgorICAg ICAgPGF0dHJpYnV0ZSBuYW1lPSJ0aXRsZSI+CisgICAgICAgPHN0cmluZz5EaW1lbnNpb25zPC9z dHJpbmc+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgIDxsYXlvdXQgY2xhc3M9IlFWQm94TGF5 b3V0IiBuYW1lPSJ2ZXJ0aWNhbExheW91dF8yIj4KKyAgICAgICA8aXRlbT4KKyAgICAgICAgPHdp ZGdldCBjbGFzcz0iUUdyb3VwQm94IiBuYW1lPSJvcmlnaW5hbCI+CisgICAgICAgICA8cHJvcGVy dHkgbmFtZT0idGl0bGUiPgorICAgICAgICAgIDxzdHJpbmc+SW5mb3JtYXRpb248L3N0cmluZz4K KyAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICA8bGF5b3V0IGNsYXNzPSJRRm9ybUxheW91 dCIgbmFtZT0iZm9ybUxheW91dF8zIj4KKyAgICAgICAgICA8aXRlbSByb3c9IjAiIGNvbHVtbj0i MCI+CisgICAgICAgICAgIDx3aWRnZXQgY2xhc3M9IlFMYWJlbCIgbmFtZT0ibGJsV2lkdGgiPgor ICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRleHQiPgorICAgICAgICAgICAgIDxzdHJpbmc+ V2lkdGg6PC9zdHJpbmc+CisgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICA8L3dp ZGdldD4KKyAgICAgICAgICA8L2l0ZW0+CisgICAgICAgICAgPGl0ZW0gcm93PSIwIiBjb2x1bW49 IjEiPgorICAgICAgICAgICA8d2lkZ2V0IGNsYXNzPSJRTGFiZWwiIG5hbWU9Im9yaWdpbmFsV2lk dGgiPgorICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRleHQiPgorICAgICAgICAgICAgIDxz dHJpbmcgbm90cj0idHJ1ZSI+T3JpZ2luYWwgd2lkdGggKGluIHB4KTwvc3RyaW5nPgorICAgICAg ICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgPC93aWRnZXQ+CisgICAgICAgICAgPC9pdGVt PgorICAgICAgICAgIDxpdGVtIHJvdz0iMSIgY29sdW1uPSIwIj4KKyAgICAgICAgICAgPHdpZGdl dCBjbGFzcz0iUUxhYmVsIiBuYW1lPSJsYmxIZWlnaHQiPgorICAgICAgICAgICAgPHByb3BlcnR5 IG5hbWU9InRleHQiPgorICAgICAgICAgICAgIDxzdHJpbmc+SGVpZ2h0Ojwvc3RyaW5nPgorICAg ICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgPC93aWRnZXQ+CisgICAgICAgICAgPC9p dGVtPgorICAgICAgICAgIDxpdGVtIHJvdz0iMSIgY29sdW1uPSIxIj4KKyAgICAgICAgICAgPHdp ZGdldCBjbGFzcz0iUUxhYmVsIiBuYW1lPSJvcmlnaW5hbEhlaWdodCI+CisgICAgICAgICAgICA8 cHJvcGVydHkgbmFtZT0idGV4dCI+CisgICAgICAgICAgICAgPHN0cmluZyBub3RyPSJ0cnVlIj5P cmlnaW5hbCBoZWlnaHQgKGluIHB4KTwvc3RyaW5nPgorICAgICAgICAgICAgPC9wcm9wZXJ0eT4K KyAgICAgICAgICAgPC93aWRnZXQ+CisgICAgICAgICAgPC9pdGVtPgorICAgICAgICAgIDxpdGVt IHJvdz0iMiIgY29sdW1uPSIxIj4KKyAgICAgICAgICAgPHdpZGdldCBjbGFzcz0iUUNoZWNrQm94 IiBuYW1lPSJpc0xvc3NsZXNzIj4KKyAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJmb2N1c1Bv bGljeSI+CisgICAgICAgICAgICAgPGVudW0+UXQ6Ok5vRm9jdXM8L2VudW0+CisgICAgICAgICAg ICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRleHQiPgorICAgICAg ICAgICAgIDxzdHJpbmc+TG9zc2xlc3M8L3N0cmluZz4KKyAgICAgICAgICAgIDwvcHJvcGVydHk+ CisgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idHJpc3RhdGUiPgorICAgICAgICAgICAgIDxi b29sPnRydWU8L2Jvb2w+CisgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICA8L3dp ZGdldD4KKyAgICAgICAgICA8L2l0ZW0+CisgICAgICAgICAgPGl0ZW0gcm93PSIzIiBjb2x1bW49 IjEiPgorICAgICAgICAgICA8d2lkZ2V0IGNsYXNzPSJRQ2hlY2tCb3giIG5hbWU9Imhhc1RyYW5z cGFyZW5jeSI+CisgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iZm9jdXNQb2xpY3kiPgorICAg ICAgICAgICAgIDxlbnVtPlF0OjpOb0ZvY3VzPC9lbnVtPgorICAgICAgICAgICAgPC9wcm9wZXJ0 eT4KKyAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0ZXh0Ij4KKyAgICAgICAgICAgICA8c3Ry aW5nPlRyYW5zcGFyZW50PC9zdHJpbmc+CisgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAg ICAgICA8L3dpZGdldD4KKyAgICAgICAgICA8L2l0ZW0+CisgICAgICAgICAgPGl0ZW0gcm93PSI0 IiBjb2x1bW49IjEiPgorICAgICAgICAgICA8d2lkZ2V0IGNsYXNzPSJRQ2hlY2tCb3giIG5hbWU9 Imhhc0FuaW1hdGlvbiI+CisgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iZm9jdXNQb2xpY3ki PgorICAgICAgICAgICAgIDxlbnVtPlF0OjpOb0ZvY3VzPC9lbnVtPgorICAgICAgICAgICAgPC9w cm9wZXJ0eT4KKyAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0ZXh0Ij4KKyAgICAgICAgICAg ICA8c3RyaW5nPkFuaW1hdGVkPC9zdHJpbmc+CisgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAg ICAgICAgICA8L3dpZGdldD4KKyAgICAgICAgICA8L2l0ZW0+CisgICAgICAgICA8L2xheW91dD4K KyAgICAgICAgPC93aWRnZXQ+CisgICAgICAgPC9pdGVtPgorICAgICAgIDxpdGVtPgorICAgICAg ICA8d2lkZ2V0IGNsYXNzPSJRR3JvdXBCb3giIG5hbWU9ImNyb3AiPgorICAgICAgICAgPHByb3Bl cnR5IG5hbWU9InRpdGxlIj4KKyAgICAgICAgICA8c3RyaW5nPkNyb3A8L3N0cmluZz4KKyAgICAg ICAgIDwvcHJvcGVydHk+CisgICAgICAgICA8cHJvcGVydHkgbmFtZT0iZmxhdCI+CisgICAgICAg ICAgPGJvb2w+dHJ1ZTwvYm9vbD4KKyAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICA8cHJv cGVydHkgbmFtZT0iY2hlY2thYmxlIj4KKyAgICAgICAgICA8Ym9vbD50cnVlPC9ib29sPgorICAg ICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgIDxsYXlvdXQgY2xhc3M9IlFIQm94TGF5b3V0IiBu YW1lPSJob3Jpem9udGFsTGF5b3V0Ij4KKyAgICAgICAgICA8aXRlbT4KKyAgICAgICAgICAgPGxh eW91dCBjbGFzcz0iUUZvcm1MYXlvdXQiIG5hbWU9ImZvcm1MYXlvdXQiPgorICAgICAgICAgICAg PGl0ZW0gcm93PSIwIiBjb2x1bW49IjAiPgorICAgICAgICAgICAgIDx3aWRnZXQgY2xhc3M9IlFM YWJlbCIgbmFtZT0ibGJsQ3JvcFgiPgorICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idGV4 dCI+CisgICAgICAgICAgICAgICA8c3RyaW5nPlg6PC9zdHJpbmc+CisgICAgICAgICAgICAgIDwv cHJvcGVydHk+CisgICAgICAgICAgICAgPC93aWRnZXQ+CisgICAgICAgICAgICA8L2l0ZW0+Cisg ICAgICAgICAgICA8aXRlbSByb3c9IjEiIGNvbHVtbj0iMCI+CisgICAgICAgICAgICAgPHdpZGdl dCBjbGFzcz0iUUxhYmVsIiBuYW1lPSJsYmxDcm9wWSI+CisgICAgICAgICAgICAgIDxwcm9wZXJ0 eSBuYW1lPSJ0ZXh0Ij4KKyAgICAgICAgICAgICAgIDxzdHJpbmc+WTo8L3N0cmluZz4KKyAgICAg ICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICA8L3dpZGdldD4KKyAgICAgICAgICAg IDwvaXRlbT4KKyAgICAgICAgICAgIDxpdGVtIHJvdz0iMCIgY29sdW1uPSIxIj4KKyAgICAgICAg ICAgICA8d2lkZ2V0IGNsYXNzPSJLaXNEb3VibGVQYXJzZVVuaXRTcGluQm94IiBuYW1lPSJjcm9w WCIvPgorICAgICAgICAgICAgPC9pdGVtPgorICAgICAgICAgICAgPGl0ZW0gcm93PSIxIiBjb2x1 bW49IjEiPgorICAgICAgICAgICAgIDx3aWRnZXQgY2xhc3M9Iktpc0RvdWJsZVBhcnNlVW5pdFNw aW5Cb3giIG5hbWU9ImNyb3BZIi8+CisgICAgICAgICAgICA8L2l0ZW0+CisgICAgICAgICAgIDwv bGF5b3V0PgorICAgICAgICAgIDwvaXRlbT4KKyAgICAgICAgICA8aXRlbT4KKyAgICAgICAgICAg PGxheW91dCBjbGFzcz0iUUZvcm1MYXlvdXQiIG5hbWU9ImZvcm1MYXlvdXRfMiI+CisgICAgICAg ICAgICA8aXRlbSByb3c9IjEiIGNvbHVtbj0iMCI+CisgICAgICAgICAgICAgPHdpZGdldCBjbGFz cz0iUUxhYmVsIiBuYW1lPSJsYmxDcm9wSGVpZ2h0Ij4KKyAgICAgICAgICAgICAgPHByb3BlcnR5 IG5hbWU9InRleHQiPgorICAgICAgICAgICAgICAgPHN0cmluZz5IZWlnaHQ6PC9zdHJpbmc+Cisg ICAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICAgPC93aWRnZXQ+CisgICAgICAg ICAgICA8L2l0ZW0+CisgICAgICAgICAgICA8aXRlbSByb3c9IjAiIGNvbHVtbj0iMCI+CisgICAg ICAgICAgICAgPHdpZGdldCBjbGFzcz0iUUxhYmVsIiBuYW1lPSJsYmxDcm9wV2lkdGgiPgorICAg ICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idGV4dCI+CisgICAgICAgICAgICAgICA8c3RyaW5n PldpZHRoOjwvc3RyaW5nPgorICAgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICAg IDwvd2lkZ2V0PgorICAgICAgICAgICAgPC9pdGVtPgorICAgICAgICAgICAgPGl0ZW0gcm93PSIx IiBjb2x1bW49IjEiPgorICAgICAgICAgICAgIDx3aWRnZXQgY2xhc3M9Iktpc0RvdWJsZVBhcnNl VW5pdFNwaW5Cb3giIG5hbWU9ImNyb3BIZWlnaHQiLz4KKyAgICAgICAgICAgIDwvaXRlbT4KKyAg ICAgICAgICAgIDxpdGVtIHJvdz0iMCIgY29sdW1uPSIxIj4KKyAgICAgICAgICAgICA8d2lkZ2V0 IGNsYXNzPSJLaXNEb3VibGVQYXJzZVVuaXRTcGluQm94IiBuYW1lPSJjcm9wV2lkdGgiLz4KKyAg ICAgICAgICAgIDwvaXRlbT4KKyAgICAgICAgICAgPC9sYXlvdXQ+CisgICAgICAgICAgPC9pdGVt PgorICAgICAgICAgPC9sYXlvdXQ+CisgICAgICAgIDwvd2lkZ2V0PgorICAgICAgIDwvaXRlbT4K KyAgICAgICA8aXRlbT4KKyAgICAgICAgPHdpZGdldCBjbGFzcz0iUUdyb3VwQm94IiBuYW1lPSJz Y2FsZSI+CisgICAgICAgICA8cHJvcGVydHkgbmFtZT0idGl0bGUiPgorICAgICAgICAgIDxzdHJp bmc+UmVzaXplPC9zdHJpbmc+CisgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgPHByb3Bl cnR5IG5hbWU9ImZsYXQiPgorICAgICAgICAgIDxib29sPnRydWU8L2Jvb2w+CisgICAgICAgICA8 L3Byb3BlcnR5PgorICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImNoZWNrYWJsZSI+CisgICAgICAg ICAgPGJvb2w+dHJ1ZTwvYm9vbD4KKyAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICA8cHJv cGVydHkgbmFtZT0iY2hlY2tlZCI+CisgICAgICAgICAgPGJvb2w+ZmFsc2U8L2Jvb2w+CisgICAg ICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgPGxheW91dCBjbGFzcz0iUUdyaWRMYXlvdXQiIG5h bWU9ImdyaWRMYXlvdXRfNCI+CisgICAgICAgICAgPGl0ZW0gcm93PSIwIiBjb2x1bW49IjAiPgor ICAgICAgICAgICA8d2lkZ2V0IGNsYXNzPSJRTGFiZWwiIG5hbWU9ImxibE5ld1dpZHRoIj4KKyAg ICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0ZXh0Ij4KKyAgICAgICAgICAgICA8c3RyaW5nPldp ZHRoOjwvc3RyaW5nPgorICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJhbGlnbm1lbnQiPgorICAgICAgICAgICAgIDxzZXQ+UXQ6OkFsaWduUmlnaHR8 UXQ6OkFsaWduVHJhaWxpbmd8UXQ6OkFsaWduVkNlbnRlcjwvc2V0PgorICAgICAgICAgICAgPC9w cm9wZXJ0eT4KKyAgICAgICAgICAgPC93aWRnZXQ+CisgICAgICAgICAgPC9pdGVtPgorICAgICAg ICAgIDxpdGVtIHJvdz0iMCIgY29sdW1uPSIyIj4KKyAgICAgICAgICAgPHdpZGdldCBjbGFzcz0i UUNvbWJvQm94IiBuYW1lPSJ3aWR0aFVuaXQiLz4KKyAgICAgICAgICA8L2l0ZW0+CisgICAgICAg ICAgPGl0ZW0gcm93PSIwIiBjb2x1bW49IjEiPgorICAgICAgICAgICA8d2lkZ2V0IGNsYXNzPSJL aXNEb3VibGVQYXJzZVVuaXRTcGluQm94IiBuYW1lPSJuZXdXaWR0aERvdWJsZSI+CisgICAgICAg ICAgICA8cHJvcGVydHkgbmFtZT0ic2l6ZVBvbGljeSI+CisgICAgICAgICAgICAgPHNpemVwb2xp Y3kgaHNpemV0eXBlPSJNaW5pbXVtRXhwYW5kaW5nIiB2c2l6ZXR5cGU9IkZpeGVkIj4KKyAgICAg ICAgICAgICAgPGhvcnN0cmV0Y2g+MDwvaG9yc3RyZXRjaD4KKyAgICAgICAgICAgICAgPHZlcnN0 cmV0Y2g+MDwvdmVyc3RyZXRjaD4KKyAgICAgICAgICAgICA8L3NpemVwb2xpY3k+CisgICAgICAg ICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImRlY2ltYWxzIj4K KyAgICAgICAgICAgICA8bnVtYmVyPjQ8L251bWJlcj4KKyAgICAgICAgICAgIDwvcHJvcGVydHk+ CisgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibWluaW11bSI+CisgICAgICAgICAgICAgPGRv dWJsZT4wLjAwMDEwMDAwMDAwMDAwMDwvZG91YmxlPgorICAgICAgICAgICAgPC9wcm9wZXJ0eT4K KyAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJtYXhpbXVtIj4KKyAgICAgICAgICAgICA8ZG91 YmxlPjEwMDAwMDAwMC4wMDAwMDAwMDAwMDAwMDA8L2RvdWJsZT4KKyAgICAgICAgICAgIDwvcHJv cGVydHk+CisgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ic2luZ2xlU3RlcCI+CisgICAgICAg ICAgICAgPGRvdWJsZT4wLjEwMDAwMDAwMDAwMDAwMDwvZG91YmxlPgorICAgICAgICAgICAgPC9w cm9wZXJ0eT4KKyAgICAgICAgICAgPC93aWRnZXQ+CisgICAgICAgICAgPC9pdGVtPgorICAgICAg ICAgIDxpdGVtIHJvdz0iMCIgY29sdW1uPSIzIiByb3dzcGFuPSIyIj4KKyAgICAgICAgICAgPHdp ZGdldCBjbGFzcz0iS29Bc3BlY3RCdXR0b24iIG5hbWU9ImFzcGVjdFJhdGlvQnRuIiBuYXRpdmU9 InRydWUiLz4KKyAgICAgICAgICA8L2l0ZW0+CisgICAgICAgICAgPGl0ZW0gcm93PSIyIiBjb2x1 bW49IjEiIGNvbHNwYW49IjQiPgorICAgICAgICAgICA8d2lkZ2V0IGNsYXNzPSJRQ2hlY2tCb3gi IG5hbWU9ImNvbnN0cmFpblByb3BvcnRpb25zQ2tiIj4KKyAgICAgICAgICAgIDxwcm9wZXJ0eSBu YW1lPSJzaXplUG9saWN5Ij4KKyAgICAgICAgICAgICA8c2l6ZXBvbGljeSBoc2l6ZXR5cGU9IkV4 cGFuZGluZyIgdnNpemV0eXBlPSJGaXhlZCI+CisgICAgICAgICAgICAgIDxob3JzdHJldGNoPjA8 L2hvcnN0cmV0Y2g+CisgICAgICAgICAgICAgIDx2ZXJzdHJldGNoPjA8L3ZlcnN0cmV0Y2g+Cisg ICAgICAgICAgICAgPC9zaXplcG9saWN5PgorICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAg ICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b29sVGlwIj4KKyAgICAgICAgICAgICA8c3RyaW5nPkNv bnN0cmFpbiBhc3BlY3QgcmF0aW88L3N0cmluZz4KKyAgICAgICAgICAgIDwvcHJvcGVydHk+Cisg ICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idGV4dCI+CisgICAgICAgICAgICAgPHN0cmluZz5D b25zdHJhaW4gcHJvcG9ydGlvbnM8L3N0cmluZz4KKyAgICAgICAgICAgIDwvcHJvcGVydHk+Cisg ICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iY2hlY2tlZCI+CisgICAgICAgICAgICAgPGJvb2w+ dHJ1ZTwvYm9vbD4KKyAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgIDwvd2lkZ2V0 PgorICAgICAgICAgIDwvaXRlbT4KKyAgICAgICAgICA8aXRlbSByb3c9IjEiIGNvbHVtbj0iMCI+ CisgICAgICAgICAgIDx3aWRnZXQgY2xhc3M9IlFMYWJlbCIgbmFtZT0ibGJsTmV3SGVpZ2h0Ij4K KyAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0ZXh0Ij4KKyAgICAgICAgICAgICA8c3RyaW5n PkhlaWdodDo8L3N0cmluZz4KKyAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICA8 cHJvcGVydHkgbmFtZT0iYWxpZ25tZW50Ij4KKyAgICAgICAgICAgICA8c2V0PlF0OjpBbGlnblJp Z2h0fFF0OjpBbGlnblRyYWlsaW5nfFF0OjpBbGlnblZDZW50ZXI8L3NldD4KKyAgICAgICAgICAg IDwvcHJvcGVydHk+CisgICAgICAgICAgIDwvd2lkZ2V0PgorICAgICAgICAgIDwvaXRlbT4KKyAg ICAgICAgICA8aXRlbSByb3c9IjEiIGNvbHVtbj0iMSI+CisgICAgICAgICAgIDx3aWRnZXQgY2xh c3M9Iktpc0RvdWJsZVBhcnNlVW5pdFNwaW5Cb3giIG5hbWU9Im5ld0hlaWdodERvdWJsZSI+Cisg ICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ic2l6ZVBvbGljeSI+CisgICAgICAgICAgICAgPHNp emVwb2xpY3kgaHNpemV0eXBlPSJNaW5pbXVtRXhwYW5kaW5nIiB2c2l6ZXR5cGU9IkZpeGVkIj4K KyAgICAgICAgICAgICAgPGhvcnN0cmV0Y2g+MDwvaG9yc3RyZXRjaD4KKyAgICAgICAgICAgICAg PHZlcnN0cmV0Y2g+MDwvdmVyc3RyZXRjaD4KKyAgICAgICAgICAgICA8L3NpemVwb2xpY3k+Cisg ICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImRlY2lt YWxzIj4KKyAgICAgICAgICAgICA8bnVtYmVyPjQ8L251bWJlcj4KKyAgICAgICAgICAgIDwvcHJv cGVydHk+CisgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibWluaW11bSI+CisgICAgICAgICAg ICAgPGRvdWJsZT4wLjAwMDEwMDAwMDAwMDAwMDwvZG91YmxlPgorICAgICAgICAgICAgPC9wcm9w ZXJ0eT4KKyAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJtYXhpbXVtIj4KKyAgICAgICAgICAg ICA8ZG91YmxlPjEwMDAwMDAwMC4wMDAwMDAwMDAwMDAwMDA8L2RvdWJsZT4KKyAgICAgICAgICAg IDwvcHJvcGVydHk+CisgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ic2luZ2xlU3RlcCI+Cisg ICAgICAgICAgICAgPGRvdWJsZT4wLjEwMDAwMDAwMDAwMDAwMDwvZG91YmxlPgorICAgICAgICAg ICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgPC93aWRnZXQ+CisgICAgICAgICAgPC9pdGVtPgor ICAgICAgICAgIDxpdGVtIHJvdz0iMSIgY29sdW1uPSIyIj4KKyAgICAgICAgICAgPHdpZGdldCBj bGFzcz0iUUNvbWJvQm94IiBuYW1lPSJoZWlnaHRVbml0Ii8+CisgICAgICAgICAgPC9pdGVtPgor ICAgICAgICAgPC9sYXlvdXQ+CisgICAgICAgIDwvd2lkZ2V0PgorICAgICAgIDwvaXRlbT4KKyAg ICAgICA8aXRlbT4KKyAgICAgICAgPHdpZGdldCBjbGFzcz0iUUNoZWNrQm94IiBuYW1lPSJmbGlw Ij4KKyAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0ZXh0Ij4KKyAgICAgICAgICA8c3RyaW5nPkZs aXAgdmVydGljYWxseTwvc3RyaW5nPgorICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgPC93 aWRnZXQ+CisgICAgICAgPC9pdGVtPgorICAgICAgIDxpdGVtPgorICAgICAgICA8c3BhY2VyIG5h bWU9InZlcnRpY2FsU3BhY2VyXzQiPgorICAgICAgICAgPHByb3BlcnR5IG5hbWU9Im9yaWVudGF0 aW9uIj4KKyAgICAgICAgICA8ZW51bT5RdDo6VmVydGljYWw8L2VudW0+CisgICAgICAgICA8L3By b3BlcnR5PgorICAgICAgICAgPHByb3BlcnR5IG5hbWU9InNpemVIaW50IiBzdGRzZXQ9IjAiPgor ICAgICAgICAgIDxzaXplPgorICAgICAgICAgICA8d2lkdGg+MjA8L3dpZHRoPgorICAgICAgICAg ICA8aGVpZ2h0PjA8L2hlaWdodD4KKyAgICAgICAgICA8L3NpemU+CisgICAgICAgICA8L3Byb3Bl cnR5PgorICAgICAgICA8L3NwYWNlcj4KKyAgICAgICA8L2l0ZW0+CisgICAgICA8L2xheW91dD4K KyAgICAgPC93aWRnZXQ+CisgICAgIDx3aWRnZXQgY2xhc3M9IlFXaWRnZXQiIG5hbWU9ImFkdmFu Y2VkIj4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0idGl0bGUiPgorICAgICAgIDxzdHJpbmc+QWR2 YW5jZWQ8L3N0cmluZz4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgICAgPGxheW91dCBjbGFzcz0i UVZCb3hMYXlvdXQiIG5hbWU9InZlcnRpY2FsTGF5b3V0XzUiPgorICAgICAgIDxpdGVtPgorICAg ICAgICA8bGF5b3V0IGNsYXNzPSJRVkJveExheW91dCIgbmFtZT0idmVydGljYWxMYXlvdXRfNiI+ CisgICAgICAgICA8aXRlbT4KKyAgICAgICAgICA8d2lkZ2V0IGNsYXNzPSJRQ2hlY2tCb3giIG5h bWU9ImJ5cGFzc0ZpbHRlcmluZyI+CisgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0ZXh0Ij4K KyAgICAgICAgICAgIDxzdHJpbmc+QnlwYXNzIGZpbHRlcmluZzwvc3RyaW5nPgorICAgICAgICAg ICA8L3Byb3BlcnR5PgorICAgICAgICAgIDwvd2lkZ2V0PgorICAgICAgICAgPC9pdGVtPgorICAg ICAgICAgPGl0ZW0+CisgICAgICAgICAgPHdpZGdldCBjbGFzcz0iUUNoZWNrQm94IiBuYW1lPSJu b0ZhbmN5VXBzYW1wbGluZyI+CisgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0ZXh0Ij4KKyAg ICAgICAgICAgIDxzdHJpbmc+VXNlIGZhc3RlciBwb2ludHdpc2UgdXBzYW1wbGluZzwvc3RyaW5n PgorICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgIDwvd2lkZ2V0PgorICAgICAgICAg PC9pdGVtPgorICAgICAgICAgPGl0ZW0+CisgICAgICAgICAgPHdpZGdldCBjbGFzcz0iUUNoZWNr Qm94IiBuYW1lPSJ1c2VUaHJlYWRzIj4KKyAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRleHQi PgorICAgICAgICAgICAgPHN0cmluZz5Vc2UgbXVsdGl0aHJlYWRlZCBkZWNvZGluZzwvc3RyaW5n PgorICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgIDwvd2lkZ2V0PgorICAgICAgICAg PC9pdGVtPgorICAgICAgICA8L2xheW91dD4KKyAgICAgICA8L2l0ZW0+CisgICAgICAgPGl0ZW0+ CisgICAgICAgIDx3aWRnZXQgY2xhc3M9IlFHcm91cEJveCIgbmFtZT0iZGl0aGVyaW5nIj4KKyAg ICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJzaXplUG9saWN5Ij4KKyAgICAgICAgICA8c2l6ZXBvbGlj eSBoc2l6ZXR5cGU9IlByZWZlcnJlZCIgdnNpemV0eXBlPSJQcmVmZXJyZWQiPgorICAgICAgICAg ICA8aG9yc3RyZXRjaD4wPC9ob3JzdHJldGNoPgorICAgICAgICAgICA8dmVyc3RyZXRjaD4wPC92 ZXJzdHJldGNoPgorICAgICAgICAgIDwvc2l6ZXBvbGljeT4KKyAgICAgICAgIDwvcHJvcGVydHk+ CisgICAgICAgICA8cHJvcGVydHkgbmFtZT0idGl0bGUiPgorICAgICAgICAgIDxzdHJpbmc+RGl0 aGVyaW5nPC9zdHJpbmc+CisgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgPHByb3BlcnR5 IG5hbWU9ImZsYXQiPgorICAgICAgICAgIDxib29sPnRydWU8L2Jvb2w+CisgICAgICAgICA8L3By b3BlcnR5PgorICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImNoZWNrYWJsZSI+CisgICAgICAgICAg PGJvb2w+dHJ1ZTwvYm9vbD4KKyAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICA8cHJvcGVy dHkgbmFtZT0iY2hlY2tlZCI+CisgICAgICAgICAgPGJvb2w+ZmFsc2U8L2Jvb2w+CisgICAgICAg ICA8L3Byb3BlcnR5PgorICAgICAgICAgPGxheW91dCBjbGFzcz0iUVZCb3hMYXlvdXQiIG5hbWU9 InZlcnRpY2FsTGF5b3V0XzciPgorICAgICAgICAgIDxpdGVtPgorICAgICAgICAgICA8d2lkZ2V0 IGNsYXNzPSJLaXNTbGlkZXJTcGluQm94IiBuYW1lPSJkaXRoZXJpbmdTdHJlbmd0aCI+CisgICAg ICAgICAgICA8cHJvcGVydHkgbmFtZT0ic3VmZml4Ij4KKyAgICAgICAgICAgICA8c3RyaW5nPiAl PC9zdHJpbmc+CisgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgPHByb3BlcnR5 IG5hbWU9InByZWZpeCI+CisgICAgICAgICAgICAgPHN0cmluZz5Db2xvdXIgcGxhbmVzOiA8L3N0 cmluZz4KKyAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICA8cHJvcGVydHkgbmFt ZT0ibWF4aW11bSI+CisgICAgICAgICAgICAgPG51bWJlcj4xMDA8L251bWJlcj4KKyAgICAgICAg ICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgIDwvd2lkZ2V0PgorICAgICAgICAgIDwvaXRlbT4K KyAgICAgICAgICA8aXRlbT4KKyAgICAgICAgICAgPHdpZGdldCBjbGFzcz0iS2lzU2xpZGVyU3Bp bkJveCIgbmFtZT0iYWxwaGFEaXRoZXJpbmdTdHJlbmd0aCI+CisgICAgICAgICAgICA8cHJvcGVy dHkgbmFtZT0ic3VmZml4Ij4KKyAgICAgICAgICAgICA8c3RyaW5nPiAlPC9zdHJpbmc+CisgICAg ICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InByZWZpeCI+ CisgICAgICAgICAgICAgPHN0cmluZz5BbHBoYSBwbGFuZTogPC9zdHJpbmc+CisgICAgICAgICAg ICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9Im1heGltdW0iPgorICAg ICAgICAgICAgIDxudW1iZXI+MTAwPC9udW1iZXI+CisgICAgICAgICAgICA8L3Byb3BlcnR5Pgor ICAgICAgICAgICA8L3dpZGdldD4KKyAgICAgICAgICA8L2l0ZW0+CisgICAgICAgICA8L2xheW91 dD4KKyAgICAgICAgPC93aWRnZXQ+CisgICAgICAgPC9pdGVtPgorICAgICAgIDxpdGVtPgorICAg ICAgICA8c3BhY2VyIG5hbWU9InZlcnRpY2FsU3BhY2VyXzUiPgorICAgICAgICAgPHByb3BlcnR5 IG5hbWU9Im9yaWVudGF0aW9uIj4KKyAgICAgICAgICA8ZW51bT5RdDo6VmVydGljYWw8L2VudW0+ CisgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgPHByb3BlcnR5IG5hbWU9InNpemVIaW50 IiBzdGRzZXQ9IjAiPgorICAgICAgICAgIDxzaXplPgorICAgICAgICAgICA8d2lkdGg+MjA8L3dp ZHRoPgorICAgICAgICAgICA8aGVpZ2h0PjQwPC9oZWlnaHQ+CisgICAgICAgICAgPC9zaXplPgor ICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgPC9zcGFjZXI+CisgICAgICAgPC9pdGVtPgor ICAgICAgPC9sYXlvdXQ+CisgICAgIDwvd2lkZ2V0PgorICAgIDwvd2lkZ2V0PgorICAgPC9pdGVt PgorICA8L2xheW91dD4KKyA8L3dpZGdldD4KKyA8Y3VzdG9td2lkZ2V0cz4KKyAgPGN1c3RvbXdp ZGdldD4KKyAgIDxjbGFzcz5Lb0FzcGVjdEJ1dHRvbjwvY2xhc3M+CisgICA8ZXh0ZW5kcz5RV2lk Z2V0PC9leHRlbmRzPgorICAgPGhlYWRlciBsb2NhdGlvbj0iZ2xvYmFsIj5Lb0FzcGVjdEJ1dHRv bi5oPC9oZWFkZXI+CisgICA8Y29udGFpbmVyPjE8L2NvbnRhaW5lcj4KKyAgPC9jdXN0b213aWRn ZXQ+CisgIDxjdXN0b213aWRnZXQ+CisgICA8Y2xhc3M+S2lzRG91YmxlUGFyc2VVbml0U3BpbkJv eDwvY2xhc3M+CisgICA8ZXh0ZW5kcz5RRG91YmxlU3BpbkJveDwvZXh0ZW5kcz4KKyAgIDxoZWFk ZXIgbG9jYXRpb249Imdsb2JhbCI+a2lzX2RvdWJsZV9wYXJzZV91bml0X3NwaW5fYm94Lmg8L2hl YWRlcj4KKyAgPC9jdXN0b213aWRnZXQ+CisgIDxjdXN0b213aWRnZXQ+CisgICA8Y2xhc3M+S2lz U2xpZGVyU3BpbkJveDwvY2xhc3M+CisgICA8ZXh0ZW5kcz5RU3BpbkJveDwvZXh0ZW5kcz4KKyAg IDxoZWFkZXIgbG9jYXRpb249Imdsb2JhbCI+a2lzX3NsaWRlcl9zcGluX2JveC5oPC9oZWFkZXI+ CisgIDwvY3VzdG9td2lkZ2V0PgorIDwvY3VzdG9td2lkZ2V0cz4KKyA8cmVzb3VyY2VzLz4KKyA8 Y29ubmVjdGlvbnMvPgorPC91aT4KZGlmZiAtLWdpdCBhL3BsdWdpbnMvaW1wZXgvd2VicC9raXNf d2VicF9leHBvcnQuY3BwIGIvcGx1Z2lucy9pbXBleC93ZWJwL2tpc193ZWJwX2V4cG9ydC5jcHAK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uYzM1YmIxZjA1MgotLS0gL2Rl di9udWxsCisrKyBiL3BsdWdpbnMvaW1wZXgvd2VicC9raXNfd2VicF9leHBvcnQuY3BwCkBAIC0w LDAgKzEsMjM3IEBACisvKgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgS3JpdGEKKyAqCisgKiBT UERYLUZpbGVDb3B5cmlnaHRUZXh0OiAyMDIxIEwuIEUuIFNlZ292aWEgPGFteUBhbXlzcGFyay5t ZT4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgorICov CisKKyNpbmNsdWRlIDxRRmlsZUluZm8+CisjaW5jbHVkZSA8a3BsdWdpbmZhY3RvcnkuaD4KKyNp bmNsdWRlIDxtZW1vcnk+CisjaW5jbHVkZSA8d2VicC9lbmNvZGUuaD4KKyNpbmNsdWRlIDx3ZWJw L3R5cGVzLmg+CisKKyNpbmNsdWRlIDxLaXNEb2N1bWVudC5oPgorI2luY2x1ZGUgPEtpc0V4cG9y dENoZWNrUmVnaXN0cnkuaD4KKyNpbmNsdWRlIDxLaXNJbXBvcnRFeHBvcnRFcnJvckNvZGUuaD4K KyNpbmNsdWRlIDxLaXNJbXBvcnRFeHBvcnRNYW5hZ2VyLmg+CisjaW5jbHVkZSA8S29Db2xvck1v ZGVsU3RhbmRhcmRJZHMuaD4KKyNpbmNsdWRlIDxLb0NvbG9yU3BhY2UuaD4KKyNpbmNsdWRlIDxL b0NvbG9yU3BhY2VSZWdpc3RyeS5oPgorI2luY2x1ZGUgPGtpc19hc3NlcnQuaD4KKyNpbmNsdWRl IDxraXNfZGVidWcuaD4KKyNpbmNsdWRlIDxraXNfaW1hZ2UuaD4KKyNpbmNsdWRlIDxraXNfcGFp bnRfZGV2aWNlLmg+CisjaW5jbHVkZSA8a2lzX3BhaW50X2xheWVyLmg+CisjaW5jbHVkZSA8a2lz X3JhbmRvbV9hY2Nlc3Nvcl9uZy5oPgorCisjaW5jbHVkZSAiZGxnX3dlYnBfZXhwb3J0LmgiCisj aW5jbHVkZSAia2lzX3dlYnBfZXhwb3J0LmgiCisKK0tfUExVR0lOX0ZBQ1RPUllfV0lUSF9KU09O KEtpc1dlYlBFeHBvcnRGYWN0b3J5LCAia3JpdGFfd2VicF9leHBvcnQuanNvbiIsIHJlZ2lzdGVy UGx1Z2luPEtpc1dlYlBFeHBvcnQ+KCk7KQorCitLaXNXZWJQRXhwb3J0OjpLaXNXZWJQRXhwb3J0 KFFPYmplY3QgKnBhcmVudCwgY29uc3QgUVZhcmlhbnRMaXN0ICYpCisgICAgOiBLaXNJbXBvcnRF eHBvcnRGaWx0ZXIocGFyZW50KQoreworfQorCitLaXNXZWJQRXhwb3J0Ojp+S2lzV2ViUEV4cG9y dCgpCit7Cit9CisKK0tpc1Byb3BlcnRpZXNDb25maWd1cmF0aW9uU1AgS2lzV2ViUEV4cG9ydDo6 ZGVmYXVsdENvbmZpZ3VyYXRpb24oY29uc3QgUUJ5dGVBcnJheSAmIC8qZnJvbSovLCBjb25zdCBR Qnl0ZUFycmF5ICYgLyp0byovKSBjb25zdAoreworICAgIEtpc1Byb3BlcnRpZXNDb25maWd1cmF0 aW9uU1AgY2ZnKG5ldyBLaXNQcm9wZXJ0aWVzQ29uZmlndXJhdGlvbigpKTsKKyAgICBXZWJQQ29u ZmlnIHByZXNldCB7fTsKKworICAgIGlmICghV2ViUENvbmZpZ0luaXQoJnByZXNldCkpIHsKKyAg ICAgICAgcmV0dXJuIGNmZzsKKyAgICB9CisKKyAgICBpZiAoIVdlYlBDb25maWdMb3NzbGVzc1By ZXNldCgmcHJlc2V0LCA2KSkgeworICAgICAgICByZXR1cm4gY2ZnOworICAgIH0KKworICAgIHBy ZXNldC50aHJlYWRfbGV2ZWwgPSAxOworCisgICAgaWYgKCFXZWJQVmFsaWRhdGVDb25maWcoJnBy ZXNldCkpIHsKKyAgICAgICAgcmV0dXJuIGNmZzsKKyAgICB9CisKKyAgICBjZmctPnNldFByb3Bl cnR5KCJwcmVzZXQiLCAwKTsKKyAgICBjZmctPnNldFByb3BlcnR5KCJsb3NzbGVzcyIsIHByZXNl dC5sb3NzbGVzcyA9PSAxKTsKKyAgICBjZmctPnNldFByb3BlcnR5KCJxdWFsaXR5IiwgcHJlc2V0 LnF1YWxpdHkpOworICAgIGNmZy0+c2V0UHJvcGVydHkoIm1ldGhvZCIsIHByZXNldC5tZXRob2Qp OworICAgIGNmZy0+c2V0UHJvcGVydHkoImRpdGhlcmluZyIsIHRydWUpOworCisgICAgY2ZnLT5z ZXRQcm9wZXJ0eSgidGFyZ2V0X3NpemUiLCBwcmVzZXQudGFyZ2V0X3NpemUpOworICAgIGNmZy0+ c2V0UHJvcGVydHkoInRhcmdldF9QU05SIiwgcHJlc2V0LnRhcmdldF9QU05SKTsKKyAgICBjZmct PnNldFByb3BlcnR5KCJzZWdtZW50cyIsIHByZXNldC5zZWdtZW50cyk7CisgICAgY2ZnLT5zZXRQ cm9wZXJ0eSgic25zX3N0cmVuZ3RoIiwgcHJlc2V0LnNuc19zdHJlbmd0aCk7CisgICAgY2ZnLT5z ZXRQcm9wZXJ0eSgiZmlsdGVyX3N0cmVuZ3RoIiwgcHJlc2V0LmZpbHRlcl9zdHJlbmd0aCk7Cisg ICAgY2ZnLT5zZXRQcm9wZXJ0eSgiZmlsdGVyX3NoYXJwbmVzcyIsIHByZXNldC5maWx0ZXJfc2hh cnBuZXNzKTsKKyAgICBjZmctPnNldFByb3BlcnR5KCJmaWx0ZXJfdHlwZSIsIHByZXNldC5maWx0 ZXJfdHlwZSk7CisgICAgY2ZnLT5zZXRQcm9wZXJ0eSgiYXV0b2ZpbHRlciIsIHByZXNldC5hdXRv ZmlsdGVyID09IDEpOworICAgIGNmZy0+c2V0UHJvcGVydHkoImFscGhhX2NvbXByZXNzaW9uIiwg cHJlc2V0LmFscGhhX2NvbXByZXNzaW9uKTsKKyAgICBjZmctPnNldFByb3BlcnR5KCJhbHBoYV9m aWx0ZXJpbmciLCBwcmVzZXQuYWxwaGFfZmlsdGVyaW5nKTsKKyAgICBjZmctPnNldFByb3BlcnR5 KCJhbHBoYV9xdWFsaXR5IiwgcHJlc2V0LmFscGhhX3F1YWxpdHkpOworICAgIGNmZy0+c2V0UHJv cGVydHkoInBhc3MiLCBwcmVzZXQucGFzcyk7CisgICAgY2ZnLT5zZXRQcm9wZXJ0eSgic2hvd19j b21wcmVzc2VkIiwgcHJlc2V0LnNob3dfY29tcHJlc3NlZCA9PSAxKTsKKyAgICBjZmctPnNldFBy b3BlcnR5KCJwcmVwcm9jZXNzaW5nIiwgcHJlc2V0LnByZXByb2Nlc3NpbmcpOworICAgIGNmZy0+ c2V0UHJvcGVydHkoInBhcnRpdGlvbnMiLCBwcmVzZXQucGFydGl0aW9ucyk7CisgICAgY2ZnLT5z ZXRQcm9wZXJ0eSgicGFydGl0aW9uX2xpbWl0IiwgcHJlc2V0LnBhcnRpdGlvbl9saW1pdCk7Cisg ICAgY2ZnLT5zZXRQcm9wZXJ0eSgiZW11bGF0ZV9qcGVnX3NpemUiLCBwcmVzZXQuZW11bGF0ZV9q cGVnX3NpemUgPT0gMSk7CisgICAgY2ZnLT5zZXRQcm9wZXJ0eSgidGhyZWFkX2xldmVsIiwgcHJl c2V0LnRocmVhZF9sZXZlbCA+IDApOworICAgIGNmZy0+c2V0UHJvcGVydHkoImxvd19tZW1vcnki LCBwcmVzZXQubG93X21lbW9yeSA9PSAxKTsKKyAgICBjZmctPnNldFByb3BlcnR5KCJuZWFyX2xv c3NsZXNzIiwgcHJlc2V0Lm5lYXJfbG9zc2xlc3MpOworICAgIGNmZy0+c2V0UHJvcGVydHkoImV4 YWN0IiwgcHJlc2V0LmV4YWN0ID09IDEpOworICAgIGNmZy0+c2V0UHJvcGVydHkoInVzZV9zaGFy cF95dXYiLCBwcmVzZXQudXNlX3NoYXJwX3l1diA9PSAxKTsKKyNpZiBXRUJQX0VOQ09ERVJfQUJJ X1ZFUlNJT04gPj0gMHgwMjBmCisgICAgY2ZnLT5zZXRQcm9wZXJ0eSgicW1pbiIsIHByZXNldC5x bWluKTsKKyAgICBjZmctPnNldFByb3BlcnR5KCJxbWF4IiwgcHJlc2V0LnFtYXgpOworI2VuZGlm CisKKyAgICByZXR1cm4gY2ZnOworfQorCitLaXNDb25maWdXaWRnZXQgKktpc1dlYlBFeHBvcnQ6 OmNyZWF0ZUNvbmZpZ3VyYXRpb25XaWRnZXQoUVdpZGdldCAqcGFyZW50LCBjb25zdCBRQnl0ZUFy cmF5ICYgLypmcm9tKi8sIGNvbnN0IFFCeXRlQXJyYXkgJiAvKnRvKi8pIGNvbnN0Cit7CisgICAg cmV0dXJuIG5ldyBLaXNEbGdXZWJQRXhwb3J0KHBhcmVudCk7Cit9CisKK0tpc0ltcG9ydEV4cG9y dEVycm9yQ29kZSBLaXNXZWJQRXhwb3J0Ojpjb252ZXJ0KEtpc0RvY3VtZW50ICpkb2N1bWVudCwg UUlPRGV2aWNlICppbywgS2lzUHJvcGVydGllc0NvbmZpZ3VyYXRpb25TUCBjZmcpCit7CisgICAg V2ViUENvbmZpZyBjb25maWc7CisgICAgaWYgKCFXZWJQQ29uZmlnSW5pdCgmY29uZmlnKSkgewor ICAgICAgICBkYmdQbHVnaW5zIDw8ICJXZWJQIGNvbmZpZyBpbml0aWFsaXphdGlvbiBmYWlsZWQh IjsKKyAgICAgICAgcmV0dXJuIEltcG9ydEV4cG9ydENvZGVzOjpJbnRlcm5hbEVycm9yOworICAg IH0KKworICAgIHsKKyAgICAgICAgY29uZmlnLmxvc3NsZXNzID0gY2ZnLT5nZXRCb29sKCJsb3Nz bGVzcyIsIHRydWUpID8gMSA6IDA7CisgICAgICAgIGNvbmZpZy5xdWFsaXR5ID0gY2ZnLT5nZXRG bG9hdCgicXVhbGl0eSIsIDc1LjApOworICAgICAgICBjb25maWcubWV0aG9kID0gY2ZnLT5nZXRJ bnQoIm1ldGhvZCIsIDQpOworCisgICAgICAgIGNvbmZpZy50YXJnZXRfc2l6ZSA9IGNmZy0+Z2V0 SW50KCJ0YXJnZXRfc2l6ZSIsIDApOworICAgICAgICBjb25maWcudGFyZ2V0X1BTTlIgPSBjZmct PmdldEZsb2F0KCJ0YXJnZXRfUFNOUiIsIDAuMGYpOworICAgICAgICBjb25maWcuc2VnbWVudHMg PSBjZmctPmdldEludCgic2VnbWVudHMiLCA0KTsKKyAgICAgICAgY29uZmlnLnNuc19zdHJlbmd0 aCA9IGNmZy0+Z2V0SW50KCJzbnNfc3RyZW5ndGgiLCA1MCk7CisgICAgICAgIGNvbmZpZy5maWx0 ZXJfc3RyZW5ndGggPSBjZmctPmdldEludCgiZmlsdGVyX3N0cmVuZ3RoIiwgNjApOworICAgICAg ICBjb25maWcuZmlsdGVyX3NoYXJwbmVzcyA9IGNmZy0+Z2V0SW50KCJmaWx0ZXJfc2hhcnBuZXNz IiwgMCk7CisgICAgICAgIGNvbmZpZy5maWx0ZXJfdHlwZSA9IGNmZy0+Z2V0SW50KCJmaWx0ZXJf dHlwZSIsIDEpOworICAgICAgICBjb25maWcuYXV0b2ZpbHRlciA9IGNmZy0+Z2V0Qm9vbCgiYXV0 b2ZpbHRlciIsIGZhbHNlKSA/IDEgOiAwOworICAgICAgICBjb25maWcuYWxwaGFfY29tcHJlc3Np b24gPSBjZmctPmdldEludCgiYWxwaGFfY29tcHJlc3Npb24iLCAxKTsKKyAgICAgICAgY29uZmln LmFscGhhX2ZpbHRlcmluZyA9IGNmZy0+Z2V0SW50KCJhbHBoYV9maWx0ZXJpbmciLCAxKTsKKyAg ICAgICAgY29uZmlnLmFscGhhX3F1YWxpdHkgPSBjZmctPmdldEludCgiYWxwaGFfcXVhbGl0eSIs IDEwMCk7CisgICAgICAgIGNvbmZpZy5wYXNzID0gY2ZnLT5nZXRJbnQoInBhc3MiLCAxKTsKKyAg ICAgICAgY29uZmlnLnNob3dfY29tcHJlc3NlZCA9IGNmZy0+Z2V0Qm9vbCgic2hvd19jb21wcmVz c2VkIiwgZmFsc2UpID8gMSA6IDA7CisgICAgICAgIGNvbmZpZy5wcmVwcm9jZXNzaW5nID0gY2Zn LT5nZXRJbnQoInByZXByb2Nlc3NpbmciLCAwKTsKKyAgICAgICAgY29uZmlnLnBhcnRpdGlvbnMg PSBjZmctPmdldEludCgicGFydGl0aW9ucyIsIDApOworICAgICAgICBjb25maWcucGFydGl0aW9u X2xpbWl0ID0gY2ZnLT5nZXRJbnQoInBhcnRpdGlvbl9saW1pdCIsIDApOworICAgICAgICBjb25m aWcuZW11bGF0ZV9qcGVnX3NpemUgPSBjZmctPmdldEJvb2woImVtdWxhdGVfanBlZ19zaXplIiwg ZmFsc2UpID8gMSA6IDA7CisgICAgICAgIGNvbmZpZy50aHJlYWRfbGV2ZWwgPSBjZmctPmdldEJv b2woInRocmVhZF9sZXZlbCIsIGZhbHNlKSA/IDEgOiAwOworICAgICAgICBjb25maWcubG93X21l bW9yeSA9IGNmZy0+Z2V0Qm9vbCgibG93X21lbW9yeSIsIGZhbHNlKSA/IDEgOiAwOworICAgICAg ICBjb25maWcubmVhcl9sb3NzbGVzcyA9IGNmZy0+Z2V0SW50KCJuZWFyX2xvc3NsZXNzIiwgMTAw KTsKKyAgICAgICAgY29uZmlnLmV4YWN0ID0gY2ZnLT5nZXRCb29sKCJleGFjdCIsIDApID8gMSA6 IDA7CisgICAgICAgIGNvbmZpZy51c2Vfc2hhcnBfeXV2ID0gY2ZnLT5nZXRCb29sKCJ1c2Vfc2hh cnBfeXV2IiwgZmFsc2UpID8gMSA6IDA7CisjaWYgV0VCUF9FTkNPREVSX0FCSV9WRVJTSU9OID49 IDB4MDIwZgorICAgICAgICBjb25maWcucW1pbiA9IGNmZy0+Z2V0SW50KCJxbWluIiwgMCk7Cisg ICAgICAgIGNvbmZpZy5xbWF4ID0gY2ZnLT5nZXRJbnQoInFtYXgiLCAxMDApOworI2VuZGlmCisK KyAgICAgICAgaWYgKCFXZWJQVmFsaWRhdGVDb25maWcoJmNvbmZpZykpIHsKKyAgICAgICAgICAg IGRiZ1BsdWdpbnMgPDwgIldlYlAgY29uZmlndXJhdGlvbiB2YWxpZGF0aW9uIGZhaWx1cmUiOwor ICAgICAgICAgICAgcmV0dXJuIEltcG9ydEV4cG9ydENvZGVzOjpJbnRlcm5hbEVycm9yOworICAg ICAgICB9CisgICAgfQorCisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYlBQaWN0dXJlLCBkZWNsdHlw ZSgmV2ViUFBpY3R1cmVGcmVlKT4gcGljdHVyZShuZXcgV2ViUFBpY3R1cmUoKSwgJldlYlBQaWN0 dXJlRnJlZSk7CisgICAgaWYgKHBpY3R1cmUgJiYgIVdlYlBQaWN0dXJlSW5pdChwaWN0dXJlLmdl dCgpKSkgeworICAgICAgICBkYmdQbHVnaW5zIDw8ICJXZWJQIHBpY3R1cmUgaW5pdGlhbGl6YXRp b24gZmFpbHVyZSI7CisgICAgICAgIHJldHVybiBJbXBvcnRFeHBvcnRDb2Rlczo6SW50ZXJuYWxF cnJvcjsKKyAgICB9CisKKyAgICBjb25zdCBRUmVjdCByYyA9IGRvY3VtZW50LT5zYXZpbmdJbWFn ZSgpLT5ib3VuZHMoKTsKKyAgICBwaWN0dXJlLT53aWR0aCA9IHJjLndpZHRoKCk7CisgICAgcGlj dHVyZS0+aGVpZ2h0ID0gcmMuaGVpZ2h0KCk7CisKKyAgICBjb25zdCBib29sIGVuYWJsZURpdGhl cmluZyA9IGNmZy0+Z2V0Qm9vbCgiZGl0aGVyaW5nIiwgdHJ1ZSk7CisKKyAgICBLaXNQYWludERl dmljZVNQIGRzdDsKKyAgICBjb25zdCBLb0NvbG9yU3BhY2UgKmNzID0gZG9jdW1lbnQtPnNhdmlu Z0ltYWdlKCktPnByb2plY3Rpb24oKS0+Y29sb3JTcGFjZSgpOworICAgIGlmICgoY3MtPmNvbG9y TW9kZWxJZCgpID09IFJHQkFDb2xvck1vZGVsSUQgJiYgY3MtPmNvbG9yRGVwdGhJZCgpID09IElu dGVnZXI4Qml0c0NvbG9yRGVwdGhJRCkgfHwgIWVuYWJsZURpdGhlcmluZykgeworICAgICAgICBk c3QgPSBkb2N1bWVudC0+c2F2aW5nSW1hZ2UoKS0+cHJvamVjdGlvbigpOworICAgIH0gZWxzZSB7 CisgICAgICAgIC8vIFdlIG5lZWQgdG8gdXNlIGdyYWRpZW50IHBhaW50ZXIgY29kZSdzOgorICAg ICAgICAvLyAgICB0byBjb252ZXJ0IHRvIFJHQkEgc2FtZWRlcHRoOworICAgICAgICAvLyAgICB0 aGVuIGRpdGhlciB0byBSR0JBOAorICAgICAgICAvLyAgICB0aGVuIGNvbnZlcnQgZnJvbSBBUkdC MzIgdG8gUkdCQTg4ODgKKyAgICAgICAgY29uc3QgS2lzUGFpbnREZXZpY2VTUCBzcmMgPSBkb2N1 bWVudC0+c2F2aW5nSW1hZ2UoKS0+cHJvamVjdGlvbigpOworICAgICAgICBjb25zdCBLb0lEIGRl cHRoSWQgPSBzcmMtPmNvbG9yU3BhY2UoKS0+Y29sb3JEZXB0aElkKCk7CisgICAgICAgIGNvbnN0 IEtvQ29sb3JTcGFjZSAqZGVzdENzID0gS29Db2xvclNwYWNlUmVnaXN0cnk6Omluc3RhbmNlKCkt PnJnYjgoKTsKKyAgICAgICAgY29uc3QgS29Db2xvclNwYWNlICptaXhDcyA9IEtvQ29sb3JTcGFj ZVJlZ2lzdHJ5OjppbnN0YW5jZSgpLT5jb2xvclNwYWNlKFJHQkFDb2xvck1vZGVsSUQuaWQoKSwg ZGVwdGhJZC5pZCgpLCBkZXN0Q3MtPnByb2ZpbGUoKSk7CisKKyAgICAgICAgS2lzUGFpbnREZXZp Y2VTUCB0bXAobmV3IEtpc1BhaW50RGV2aWNlKCpzcmMpKTsKKyAgICAgICAgdG1wLT5jb252ZXJ0 VG8obWl4Q3MpOworICAgICAgICBkc3QgPSBuZXcgS2lzUGFpbnREZXZpY2UoZGVzdENzKTsKKwor ICAgICAgICBjb25zdCBLaXNEaXRoZXJPcCAqb3AgPSBtaXhDcy0+ZGl0aGVyT3AoZGVzdENzLT5j b2xvckRlcHRoSWQoKS5pZCgpLCBlbmFibGVEaXRoZXJpbmcgPyBESVRIRVJfQkVTVCA6IERJVEhF Ul9OT05FKTsKKworICAgICAgICBLaXNSYW5kb21Db25zdEFjY2Vzc29yU1Agc3JjSXQodG1wLT5j cmVhdGVSYW5kb21Db25zdEFjY2Vzc29yTkcoKSk7CisgICAgICAgIEtpc1JhbmRvbUFjY2Vzc29y U1AgZHN0SXQoZHN0LT5jcmVhdGVSYW5kb21BY2Nlc3Nvck5HKCkpOworCisgICAgICAgIGludCBy b3dzID0gMTsKKyAgICAgICAgaW50IGNvbHVtbnMgPSAxOworCisgICAgICAgIGZvciAoaW50IHkg PSByYy55KCk7IHkgPD0gcmMuYm90dG9tKCk7IHkgKz0gcm93cykgeworICAgICAgICAgICAgcm93 cyA9IHFNaW4oc3JjSXQtPm51bUNvbnRpZ3VvdXNSb3dzKHkpLCBxTWluKGRzdEl0LT5udW1Db250 aWd1b3VzUm93cyh5KSwgcmMuYm90dG9tKCkgLSB5ICsgMSkpOworCisgICAgICAgICAgICBmb3Ig KGludCB4ID0gcmMueCgpOyB4IDw9IHJjLnJpZ2h0KCk7IHggKz0gY29sdW1ucykgeworICAgICAg ICAgICAgICAgIGNvbHVtbnMgPSBxTWluKHNyY0l0LT5udW1Db250aWd1b3VzQ29sdW1ucyh4KSwg cU1pbihkc3RJdC0+bnVtQ29udGlndW91c0NvbHVtbnMoeCksIHJjLnJpZ2h0KCkgLSB4ICsgMSkp OworCisgICAgICAgICAgICAgICAgc3JjSXQtPm1vdmVUbyh4LCB5KTsKKyAgICAgICAgICAgICAg ICBkc3RJdC0+bW92ZVRvKHgsIHkpOworCisgICAgICAgICAgICAgICAgY29uc3QgcWludDMyIHNy Y1Jvd1N0cmlkZSB7c3JjSXQtPnJvd1N0cmlkZSh4LCB5KX07CisgICAgICAgICAgICAgICAgY29u c3QgcWludDMyIGRzdFJvd1N0cmlkZSB7ZHN0SXQtPnJvd1N0cmlkZSh4LCB5KX07CisgICAgICAg ICAgICAgICAgY29uc3QgcXVpbnQ4ICpzcmNQdHIge3NyY0l0LT5yYXdEYXRhQ29uc3QoKX07Cisg ICAgICAgICAgICAgICAgcXVpbnQ4ICpkc3RQdHIge2RzdEl0LT5yYXdEYXRhKCl9OworCisgICAg ICAgICAgICAgICAgb3AtPmRpdGhlcihzcmNQdHIsIHNyY1Jvd1N0cmlkZSwgZHN0UHRyLCBkc3RS b3dTdHJpZGUsIHgsIHksIGNvbHVtbnMsIHJvd3MpOworICAgICAgICAgICAgfQorICAgICAgICB9 CisgICAgfQorCisgICAgY29uc3QgUUltYWdlIGltYWdlID0gZHN0LT5jb252ZXJ0VG9RSW1hZ2Uo bnVsbHB0ciwgMCwgMCwgcmMud2lkdGgoKSwgcmMuaGVpZ2h0KCkpLmNvbnZlcnRUb0Zvcm1hdChR SW1hZ2U6OkZvcm1hdF9SR0JBODg4OCk7CisgICAgY29uc3QgdWNoYXIgKnJnYmEgPSBpbWFnZS5j b25zdEJpdHMoKTsKKworICAgIGlmICghV2ViUFBpY3R1cmVJbXBvcnRSR0JBKHBpY3R1cmUuZ2V0 KCksIHJnYmEsIHJjLndpZHRoKCkgKiA0KSkgeworICAgICAgICBkYmdQbHVnaW5zIDw8ICJXZWJQ IHBpY3R1cmUgY29udmVyc2lvbiBmYWlsdXJlOiIgPDwgcGljdHVyZS0+ZXJyb3JfY29kZTsKKyAg ICAgICAgcmV0dXJuIEltcG9ydEV4cG9ydENvZGVzOjpJbnRlcm5hbEVycm9yOworICAgIH0KKwor ICAgIFdlYlBNZW1vcnlXcml0ZXIgd3JpdGVyOworICAgIFdlYlBNZW1vcnlXcml0ZXJJbml0KCZ3 cml0ZXIpOworICAgIHBpY3R1cmUtPndyaXRlciA9IFdlYlBNZW1vcnlXcml0ZTsKKyAgICBwaWN0 dXJlLT5jdXN0b21fcHRyID0gJndyaXRlcjsKKworICAgIGlmICghV2ViUEVuY29kZSgmY29uZmln LCBwaWN0dXJlLmdldCgpKSkgeworICAgICAgICBkYmdQbHVnaW5zIDw8ICJXZWJQIGVuY29kaW5n IGZhaWx1cmU6IiA8PCBwaWN0dXJlLT5lcnJvcl9jb2RlOworICAgICAgICByZXR1cm4gSW1wb3J0 RXhwb3J0Q29kZXM6OkVycm9yV2hpbGVXcml0aW5nOworICAgIH0KKworICAgIFFEYXRhU3RyZWFt IHMoaW8pOworICAgIHMuc2V0Qnl0ZU9yZGVyKFFEYXRhU3RyZWFtOjpMaXR0bGVFbmRpYW4pOwor ICAgIHMud3JpdGVSYXdEYXRhKHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhciAqPih3cml0ZXIubWVtKSwg c3RhdGljX2Nhc3Q8aW50Pih3cml0ZXIuc2l6ZSkpOworICAgIHJldHVybiBJbXBvcnRFeHBvcnRD b2Rlczo6T0s7Cit9CisKK3ZvaWQgS2lzV2ViUEV4cG9ydDo6aW5pdGlhbGl6ZUNhcGFiaWxpdGll cygpCit7CisgICAgUUxpc3Q8UVBhaXI8S29JRCwgS29JRD4+IHN1cHBvcnRlZENvbG9yTW9kZWxz OworICAgIHN1cHBvcnRlZENvbG9yTW9kZWxzIDw8IFFQYWlyPEtvSUQsIEtvSUQ+KCkgPDwgUVBh aXI8S29JRCwgS29JRD4oUkdCQUNvbG9yTW9kZWxJRCwgSW50ZWdlcjhCaXRzQ29sb3JEZXB0aElE KTsKKyAgICBhZGRTdXBwb3J0ZWRDb2xvck1vZGVscyhzdXBwb3J0ZWRDb2xvck1vZGVscywgIldl YlAiKTsKK30KKworI2luY2x1ZGUgImtpc193ZWJwX2V4cG9ydC5tb2MiCmRpZmYgLS1naXQgYS9w bHVnaW5zL2ltcGV4L3dlYnAva2lzX3dlYnBfZXhwb3J0LmggYi9wbHVnaW5zL2ltcGV4L3dlYnAv a2lzX3dlYnBfZXhwb3J0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4u YmU4OWU0NjgzOAotLS0gL2Rldi9udWxsCisrKyBiL3BsdWdpbnMvaW1wZXgvd2VicC9raXNfd2Vi cF9leHBvcnQuaApAQCAtMCwwICsxLDI5IEBACisvKgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2Yg S3JpdGEKKyAqCisgKiBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiAyMDIxIEwuIEUuIFNlZ292aWEg PGFteUBhbXlzcGFyay5tZT4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIu MC1vci1sYXRlcgorICovCisKKyNpZm5kZWYgX0tJU19XRUJQX0VYUE9SVF9IXworI2RlZmluZSBf S0lTX1dFQlBfRVhQT1JUX0hfCisKKyNpbmNsdWRlIDxRVmFyaWFudD4KKworI2luY2x1ZGUgPEtp c0ltcG9ydEV4cG9ydEZpbHRlci5oPgorCitjbGFzcyBLaXNXZWJQRXhwb3J0IDogcHVibGljIEtp c0ltcG9ydEV4cG9ydEZpbHRlcgoreworICAgIFFfT0JKRUNUCitwdWJsaWM6CisgICAgS2lzV2Vi UEV4cG9ydChRT2JqZWN0ICpwYXJlbnQsIGNvbnN0IFFWYXJpYW50TGlzdCAmKTsKKyAgICB+S2lz V2ViUEV4cG9ydCgpIG92ZXJyaWRlOworCisgICAgS2lzSW1wb3J0RXhwb3J0RXJyb3JDb2RlIGNv bnZlcnQoS2lzRG9jdW1lbnQgKmRvY3VtZW50LCBRSU9EZXZpY2UgKmlvLCBLaXNQcm9wZXJ0aWVz Q29uZmlndXJhdGlvblNQIGNvbmZpZ3VyYXRpb24gPSAwKSBvdmVycmlkZTsKKyAgICBLaXNQcm9w ZXJ0aWVzQ29uZmlndXJhdGlvblNQIGRlZmF1bHRDb25maWd1cmF0aW9uKGNvbnN0IFFCeXRlQXJy YXkgJmZyb20sIGNvbnN0IFFCeXRlQXJyYXkgJnRvKSBjb25zdCBvdmVycmlkZTsKKyAgICBLaXND b25maWdXaWRnZXQgKmNyZWF0ZUNvbmZpZ3VyYXRpb25XaWRnZXQoUVdpZGdldCAqcGFyZW50LCBj b25zdCBRQnl0ZUFycmF5ICZmcm9tID0gIiIsIGNvbnN0IFFCeXRlQXJyYXkgJnRvID0gIiIpIGNv bnN0IG92ZXJyaWRlOworICAgIHZvaWQgaW5pdGlhbGl6ZUNhcGFiaWxpdGllcygpIG92ZXJyaWRl OworfTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9wbHVnaW5zL2ltcGV4L3dlYnAva2lzX3dlYnBf aW1wb3J0LmNwcCBiL3BsdWdpbnMvaW1wZXgvd2VicC9raXNfd2VicF9pbXBvcnQuY3BwCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjJiYzViZWI3MDIKLS0tIC9kZXYvbnVs bAorKysgYi9wbHVnaW5zL2ltcGV4L3dlYnAva2lzX3dlYnBfaW1wb3J0LmNwcApAQCAtMCwwICsx LDE5MSBAQAorLyoKKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEtyaXRhCisgKgorICogU1BEWC1G aWxlQ29weXJpZ2h0VGV4dDogMjAyMSBMLiBFLiBTZWdvdmlhIDxhbXlAYW15c3BhcmsubWU+Cisg KgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKKyAqLworCisj aW5jbHVkZSA8Y3N0ZGludD4KKyNpbmNsdWRlIDxtZW1vcnk+CisjaW5jbHVkZSA8d2VicC9kZWNv ZGUuaD4KKyNpbmNsdWRlIDx3ZWJwL3R5cGVzLmg+CisKKyNpbmNsdWRlIDxLaXNEb2N1bWVudC5o PgorI2luY2x1ZGUgPEtpc0ltcG9ydEV4cG9ydEVycm9yQ29kZS5oPgorI2luY2x1ZGUgPEtvRGlh bG9nLmg+CisjaW5jbHVkZSA8a2lzX2dyb3VwX2xheWVyLmg+CisjaW5jbHVkZSA8a2lzX3BhaW50 X2xheWVyLmg+CisjaW5jbHVkZSA8a2lzX3Byb3BlcnRpZXNfY29uZmlndXJhdGlvbi5oPgorI2lu Y2x1ZGUgPGtwbHVnaW5mYWN0b3J5Lmg+CisKKyNpbmNsdWRlICJraXNfd2VicF9pbXBvcnQuaCIK KworS19QTFVHSU5fRkFDVE9SWV9XSVRIX0pTT04oS2lzV2ViUEltcG9ydEZhY3RvcnksICJrcml0 YV93ZWJwX2ltcG9ydC5qc29uIiwgcmVnaXN0ZXJQbHVnaW48S2lzV2ViUEltcG9ydD4oKTspCisK K0tpc1dlYlBJbXBvcnQ6Oktpc1dlYlBJbXBvcnQoUU9iamVjdCAqcGFyZW50LCBjb25zdCBRVmFy aWFudExpc3QgJikKKyAgICA6IEtpc0ltcG9ydEV4cG9ydEZpbHRlcihwYXJlbnQpCisgICAgLCBt X2RpYWxvZyhuZXcgS2lzRGxnV2ViUEltcG9ydCgpKQoreworfQorCitLaXNXZWJQSW1wb3J0Ojp+ S2lzV2ViUEltcG9ydCgpCit7Cit9CisKK0tpc1Byb3BlcnRpZXNDb25maWd1cmF0aW9uU1AgS2lz V2ViUEltcG9ydDo6ZGVmYXVsdENvbmZpZ3VyYXRpb24oY29uc3QgUUJ5dGVBcnJheSAmIC8qZnJv bSovLCBjb25zdCBRQnl0ZUFycmF5ICYgLyp0byovKSBjb25zdAoreworICAgIEtpc1Byb3BlcnRp ZXNDb25maWd1cmF0aW9uU1AgY2ZnKG5ldyBLaXNQcm9wZXJ0aWVzQ29uZmlndXJhdGlvbigpKTsK KworICAgIFdlYlBEZWNvZGVyQ29uZmlnIHByZXNldDsKKworICAgIGlmICghV2ViUEluaXREZWNv ZGVyQ29uZmlnKCZwcmVzZXQpKSB7CisgICAgICAgIHJldHVybiBjZmc7CisgICAgfQorCisgICAg Y2ZnLT5zZXRQcm9wZXJ0eSgiYWxwaGFfZGl0aGVyaW5nX3N0cmVuZ3RoIiwgcHJlc2V0Lm9wdGlv bnMuYWxwaGFfZGl0aGVyaW5nX3N0cmVuZ3RoID09IDEpOworICAgIGNmZy0+c2V0UHJvcGVydHko Im5vX2ZhbmN5X3Vwc2FtcGxpbmciLCBwcmVzZXQub3B0aW9ucy5ub19mYW5jeV91cHNhbXBsaW5n KTsKKyAgICBjZmctPnNldFByb3BlcnR5KCJ1c2VfY3JvcHBpbmciLCBwcmVzZXQub3B0aW9ucy51 c2VfY3JvcHBpbmcpOworICAgIGNmZy0+c2V0UHJvcGVydHkoImNyb3BfbGVmdCIsIHByZXNldC5v cHRpb25zLmNyb3BfbGVmdCk7CisgICAgY2ZnLT5zZXRQcm9wZXJ0eSgiY3JvcF90b3AiLCBwcmVz ZXQub3B0aW9ucy5jcm9wX3RvcCk7CisgICAgY2ZnLT5zZXRQcm9wZXJ0eSgiY3JvcF93aWR0aCIs IHByZXNldC5vcHRpb25zLmNyb3Bfd2lkdGgpOworICAgIGNmZy0+c2V0UHJvcGVydHkoImNyb3Bf aGVpZ2h0IiwgcHJlc2V0Lm9wdGlvbnMuY3JvcF9oZWlnaHQpOworICAgIGNmZy0+c2V0UHJvcGVy dHkoInVzZV9zY2FsaW5nIiwgcHJlc2V0Lm9wdGlvbnMudXNlX3NjYWxpbmcpOworICAgIGNmZy0+ c2V0UHJvcGVydHkoInNjYWxlZF93aWR0aCIsIHByZXNldC5vcHRpb25zLnNjYWxlZF93aWR0aCk7 CisgICAgY2ZnLT5zZXRQcm9wZXJ0eSgic2NhbGVkX2hlaWdodCIsIHByZXNldC5vcHRpb25zLnNj YWxlZF9oZWlnaHQpOworICAgIGNmZy0+c2V0UHJvcGVydHkoInVzZV90aHJlYWRzIiwgcHJlc2V0 Lm9wdGlvbnMudXNlX3RocmVhZHMgPT0gMSk7CisgICAgY2ZnLT5zZXRQcm9wZXJ0eSgidXNlX2Rp dGhlcmluZyIsIGZhbHNlKTsKKyAgICBjZmctPnNldFByb3BlcnR5KCJkaXRoZXJpbmdfc3RyZW5n dGgiLCBwcmVzZXQub3B0aW9ucy5kaXRoZXJpbmdfc3RyZW5ndGgpOworICAgIGNmZy0+c2V0UHJv cGVydHkoImZsaXAiLCBwcmVzZXQub3B0aW9ucy5mbGlwID09IDEpOworICAgIGNmZy0+c2V0UHJv cGVydHkoImFscGhhX2RpdGhlcmluZ19zdHJlbmd0aCIsIHByZXNldC5vcHRpb25zLmFscGhhX2Rp dGhlcmluZ19zdHJlbmd0aCk7CisKKyAgICByZXR1cm4gY2ZnOworfQorCitLaXNJbXBvcnRFeHBv cnRFcnJvckNvZGUgS2lzV2ViUEltcG9ydDo6Y29udmVydChLaXNEb2N1bWVudCAqZG9jdW1lbnQs IFFJT0RldmljZSAqaW8sIEtpc1Byb3BlcnRpZXNDb25maWd1cmF0aW9uU1ApCit7CisgICAgY29u c3QgUUJ5dGVBcnJheSBidWYgPSBpby0+cmVhZEFsbCgpOworCisgICAgaWYgKGJ1Zi5pc0VtcHR5 KCkpIHsKKyAgICAgICAgcmV0dXJuIEltcG9ydEV4cG9ydENvZGVzOjpFcnJvcldoaWxlUmVhZGlu ZzsKKyAgICB9CisKKyAgICBjb25zdCB1aW50OF90ICpkYXRhID0gcmVpbnRlcnByZXRfY2FzdDxj b25zdCB1aW50OF90ICo+KGJ1Zi5jb25zdERhdGEoKSk7CisgICAgY29uc3Qgc2l6ZV90IGRhdGFf c2l6ZSA9IHN0YXRpY19jYXN0PHNpemVfdD4oYnVmLnNpemUoKSk7CisKKyAgICBXZWJQRGVjb2Rl ckNvbmZpZyBjb25maWc7CisgICAgaWYgKCFXZWJQSW5pdERlY29kZXJDb25maWcoJmNvbmZpZykp IHsKKyAgICAgICAgZGJnUGx1Z2lucyA8PCAiV2ViUCBkZWNvZGUgY29uZmlnIGluaXRpYWxpemF0 aW9uIGZhaWx1cmUiOworICAgICAgICByZXR1cm4gSW1wb3J0RXhwb3J0Q29kZXM6OkludGVybmFs RXJyb3I7CisgICAgfQorCisgICAgLy8gQ2hlY2sgaW1hZ2UgZmlsZSBmb3JtYXQuCisgICAgewor ICAgICAgICBjb25zdCBWUDhTdGF0dXNDb2RlIHJlc3VsdCA9V2ViUEdldEZlYXR1cmVzKGRhdGEs IGRhdGFfc2l6ZSwgJmNvbmZpZy5pbnB1dCk7CisgICAgICAgIGRiZ1BsdWdpbnMgPDwgIldlYlAg aW1wb3J0IHZhbGlkYXRpb24gc3RhdHVzOiAiIDw8IHJlc3VsdDsKKyAgICAgICAgc3dpdGNoIChy ZXN1bHQpIHsKKyAgICAgICAgY2FzZSBWUDhfU1RBVFVTX09LOgorICAgICAgICAgICAgYnJlYWs7 CisgICAgICAgIGNhc2UgVlA4X1NUQVRVU19PVVRfT0ZfTUVNT1JZOgorICAgICAgICAgICAgcmV0 dXJuIEltcG9ydEV4cG9ydENvZGVzOjpJbnN1ZmZpY2llbnRNZW1vcnk7CisgICAgICAgIGNhc2Ug VlA4X1NUQVRVU19JTlZBTElEX1BBUkFNOgorICAgICAgICAgICAgcmV0dXJuIEltcG9ydEV4cG9y dENvZGVzOjpJbnRlcm5hbEVycm9yOworICAgICAgICBjYXNlIFZQOF9TVEFUVVNfQklUU1RSRUFN X0VSUk9SOgorICAgICAgICAgICAgcmV0dXJuIEltcG9ydEV4cG9ydENvZGVzOjpGaWxlRm9ybWF0 SW5jb3JyZWN0OworICAgICAgICBjYXNlIFZQOF9TVEFUVVNfVU5TVVBQT1JURURfRkVBVFVSRToK KyAgICAgICAgICAgIHJldHVybiBJbXBvcnRFeHBvcnRDb2Rlczo6Rm9ybWF0RmVhdHVyZXNVbnN1 cHBvcnRlZDsKKyAgICAgICAgY2FzZSBWUDhfU1RBVFVTX1NVU1BFTkRFRDoKKyAgICAgICAgICAg IHJldHVybiBJbXBvcnRFeHBvcnRDb2Rlczo6SW50ZXJuYWxFcnJvcjsKKyAgICAgICAgY2FzZSBW UDhfU1RBVFVTX1VTRVJfQUJPUlQ6CisgICAgICAgICAgICByZXR1cm4gSW1wb3J0RXhwb3J0Q29k ZXM6OkludGVybmFsRXJyb3I7CisgICAgICAgIGNhc2UgVlA4X1NUQVRVU19OT1RfRU5PVUdIX0RB VEE6CisgICAgICAgICAgICByZXR1cm4gSW1wb3J0RXhwb3J0Q29kZXM6OkZpbGVGb3JtYXRJbmNv cnJlY3Q7CisgICAgICAgIH0KKyAgICB9CisKKyAgICB7CisgICAgICAgIEtpc1Byb3BlcnRpZXND b25maWd1cmF0aW9uU1AgY2ZnKGRlZmF1bHRDb25maWd1cmF0aW9uKFFCeXRlQXJyYXkoKSwgUUJ5 dGVBcnJheSgpKSk7CisKKyAgICAgICAgY2ZnLT5zZXRQcm9wZXJ0eSgib3JpZ2luYWxfd2lkdGgi LCBjb25maWcuaW5wdXQud2lkdGgpOworICAgICAgICBjZmctPnNldFByb3BlcnR5KCJvcmlnaW5h bF9oZWlnaHQiLCBjb25maWcuaW5wdXQuaGVpZ2h0KTsKKyAgICAgICAgY2ZnLT5zZXRQcm9wZXJ0 eSgiY3JvcF93aWR0aCIsIGNvbmZpZy5pbnB1dC53aWR0aCk7CisgICAgICAgIGNmZy0+c2V0UHJv cGVydHkoImNyb3BfaGVpZ2h0IiwgY29uZmlnLmlucHV0LmhlaWdodCk7CisgICAgICAgIGNmZy0+ c2V0UHJvcGVydHkoInNjYWxlZF93aWR0aCIsIGNvbmZpZy5pbnB1dC53aWR0aCk7CisgICAgICAg IGNmZy0+c2V0UHJvcGVydHkoInNjYWxlZF9oZWlnaHQiLCBjb25maWcuaW5wdXQuaGVpZ2h0KTsK KyAgICAgICAgY2ZnLT5zZXRQcm9wZXJ0eSgiaGFzX3RyYW5zcGFyZW5jeSIsIGNvbmZpZy5pbnB1 dC5oYXNfYWxwaGEpOworICAgICAgICBjZmctPnNldFByb3BlcnR5KCJmb3JtYXQiLCBjb25maWcu aW5wdXQuZm9ybWF0KTsKKyAgICAgICAgY2ZnLT5zZXRQcm9wZXJ0eSgiaGFzX2FuaW1hdGlvbiIs IGNvbmZpZy5pbnB1dC5oYXNfYW5pbWF0aW9uKTsKKworICAgICAgICBtX2RpYWxvZy0+c2V0Q29u ZmlndXJhdGlvbihjZmcuZGF0YSgpKTsKKyAgICB9CisKKyAgICB7CisgICAgICAgIGlmIChtX2Rp YWxvZy0+ZXhlYygpICE9IFFEaWFsb2c6OkFjY2VwdGVkKSB7CisgICAgICAgICAgICByZXR1cm4g SW1wb3J0RXhwb3J0Q29kZXM6OkNhbmNlbGxlZDsKKyAgICAgICAgfQorCisgICAgICAgIEtpc1By b3BlcnRpZXNDb25maWd1cmF0aW9uU1AgY2ZnKG1fZGlhbG9nLT5jb25maWd1cmF0aW9uKCkpOwor CisgICAgICAgIC8vIEtyaXRhIGZvbGxvd3MgQkdSQSBsYXlvdXQgKGNoZWNrcyBSZ2JVOCkuCisg ICAgICAgIGNvbmZpZy5vdXRwdXQuY29sb3JzcGFjZSA9IE1PREVfQkdSQTsKKyAgICAgICAgY29u ZmlnLm9wdGlvbnMuYnlwYXNzX2ZpbHRlcmluZyA9IGNmZy0+Z2V0Qm9vbCgiYnlwYXNzX2ZpbHRl cmluZyIsIGZhbHNlKSA/IDEgOiAwOworICAgICAgICBjb25maWcub3B0aW9ucy5ub19mYW5jeV91 cHNhbXBsaW5nID0gY2ZnLT5nZXRCb29sKCJub19mYW5jeV91cHNhbXBsaW5nIiwgZmFsc2UpID8g MSA6IDA7CisgICAgICAgIGlmIChjZmctPmdldEJvb2woInVzZV9jcm9wcGluZyIsIGZhbHNlKSkg eworICAgICAgICAgICAgY29uZmlnLm9wdGlvbnMudXNlX2Nyb3BwaW5nID0gMTsKKyAgICAgICAg ICAgIGNvbmZpZy5vcHRpb25zLmNyb3BfbGVmdCA9IGNmZy0+Z2V0SW50KCJjcm9wX2xlZnQiLCAw KTsKKyAgICAgICAgICAgIGNvbmZpZy5vcHRpb25zLmNyb3BfdG9wID0gY2ZnLT5nZXRJbnQoImNy b3BfdG9wIiwgMCk7CisgICAgICAgICAgICBjb25maWcub3B0aW9ucy5jcm9wX3dpZHRoID0gY2Zn LT5nZXRJbnQoImNyb3Bfd2lkdGgiLCBjb25maWcuaW5wdXQud2lkdGgpOworICAgICAgICAgICAg Y29uZmlnLm9wdGlvbnMuY3JvcF9oZWlnaHQgPSBjZmctPmdldEludCgiY3JvcF9oZWlnaHQiLCBj b25maWcuaW5wdXQuaGVpZ2h0KTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChjZmctPmdldEJv b2woInVzZV9zY2FsaW5nIiwgZmFsc2UpKSB7CisgICAgICAgICAgICBjb25maWcub3B0aW9ucy5z Y2FsZWRfd2lkdGggPSBjZmctPmdldEludCgic2NhbGVkX3dpZHRoIiwgY29uZmlnLmlucHV0Lmhl aWdodCk7CisgICAgICAgICAgICBjb25maWcub3B0aW9ucy5zY2FsZWRfaGVpZ2h0ID0gY2ZnLT5n ZXRJbnQoInNjYWxlZF9oZWlnaHQiLCBjb25maWcuaW5wdXQuaGVpZ2h0KTsKKyAgICAgICAgfQor CisgICAgICAgIGNvbmZpZy5vcHRpb25zLnVzZV90aHJlYWRzID0gY2ZnLT5nZXRCb29sKCJ1c2Vf dGhyZWFkcyIsIGZhbHNlKSA/IDEgOiAwOworCisgICAgICAgIGlmIChjZmctPmdldEJvb2woInVz ZV9kaXRoZXJpbmciLCBmYWxzZSkpIHsKKyAgICAgICAgICAgIGNvbmZpZy5vcHRpb25zLmRpdGhl cmluZ19zdHJlbmd0aCA9IGNmZy0+Z2V0SW50KCJkaXRoZXJpbmdfc3RyZW5ndGgiLCAwKTsKKyAg ICAgICAgICAgIGNvbmZpZy5vcHRpb25zLmFscGhhX2RpdGhlcmluZ19zdHJlbmd0aCA9IGNmZy0+ Z2V0SW50KCJhbHBoYV9kaXRoZXJpbmdfc3RyZW5ndGgiLCAwKTsKKyAgICAgICAgfQorCisgICAg ICAgIGNvbmZpZy5vcHRpb25zLmZsaXAgPSBjZmctPmdldEJvb2woImZsaXAiLCBmYWxzZSkgPyAx IDogMDsKKyAgICB9CisKKyAgICB7CisgICAgICAgIGNvbnN0IFZQOFN0YXR1c0NvZGUgcmVzdWx0 ID0gV2ViUERlY29kZShkYXRhLCBkYXRhX3NpemUsICZjb25maWcpOworICAgICAgICBkYmdQbHVn aW5zIDw8ICJXZWJQIGltcG9ydCBzdGF0dXM6ICIgPDwgcmVzdWx0OworICAgICAgICBzd2l0Y2gg KHJlc3VsdCkgeworICAgICAgICBjYXNlIFZQOF9TVEFUVVNfT0s6CisgICAgICAgICAgICBicmVh azsKKyAgICAgICAgY2FzZSBWUDhfU1RBVFVTX09VVF9PRl9NRU1PUlk6CisgICAgICAgICAgICBy ZXR1cm4gSW1wb3J0RXhwb3J0Q29kZXM6Okluc3VmZmljaWVudE1lbW9yeTsKKyAgICAgICAgY2Fz ZSBWUDhfU1RBVFVTX0lOVkFMSURfUEFSQU06CisgICAgICAgICAgICByZXR1cm4gSW1wb3J0RXhw b3J0Q29kZXM6OkludGVybmFsRXJyb3I7CisgICAgICAgIGNhc2UgVlA4X1NUQVRVU19CSVRTVFJF QU1fRVJST1I6CisgICAgICAgICAgICByZXR1cm4gSW1wb3J0RXhwb3J0Q29kZXM6OkZpbGVGb3Jt YXRJbmNvcnJlY3Q7CisgICAgICAgIGNhc2UgVlA4X1NUQVRVU19VTlNVUFBPUlRFRF9GRUFUVVJF OgorICAgICAgICAgICAgcmV0dXJuIEltcG9ydEV4cG9ydENvZGVzOjpGb3JtYXRGZWF0dXJlc1Vu c3VwcG9ydGVkOworICAgICAgICBjYXNlIFZQOF9TVEFUVVNfU1VTUEVOREVEOgorICAgICAgICAg ICAgcmV0dXJuIEltcG9ydEV4cG9ydENvZGVzOjpJbnRlcm5hbEVycm9yOworICAgICAgICBjYXNl IFZQOF9TVEFUVVNfVVNFUl9BQk9SVDoKKyAgICAgICAgICAgIHJldHVybiBJbXBvcnRFeHBvcnRD b2Rlczo6SW50ZXJuYWxFcnJvcjsKKyAgICAgICAgY2FzZSBWUDhfU1RBVFVTX05PVF9FTk9VR0hf REFUQToKKyAgICAgICAgICAgIHJldHVybiBJbXBvcnRFeHBvcnRDb2Rlczo6RmlsZUZvcm1hdElu Y29ycmVjdDsKKyAgICAgICAgfQorICAgIH0KKworICAgIGNvbnN0IEtvQ29sb3JTcGFjZSAqY29s b3JTcGFjZSA9IEtvQ29sb3JTcGFjZVJlZ2lzdHJ5OjppbnN0YW5jZSgpLT5yZ2I4KCk7CisgICAg S2lzSW1hZ2VTUCBpbWFnZSA9IG5ldyBLaXNJbWFnZShkb2N1bWVudC0+Y3JlYXRlVW5kb1N0b3Jl KCksIGNvbmZpZy5vdXRwdXQud2lkdGgsIGNvbmZpZy5vdXRwdXQuaGVpZ2h0LCBjb2xvclNwYWNl LCBpMThuKCJXZWJQIEltYWdlIikpOworCisgICAgS2lzUGFpbnRMYXllclNQIGxheWVyKG5ldyBL aXNQYWludExheWVyKGltYWdlLCBpbWFnZS0+bmV4dExheWVyTmFtZSgpLCAyNTUpKTsKKyAgICBs YXllci0+cGFpbnREZXZpY2UoKS0+d3JpdGVCeXRlcyhjb25maWcub3V0cHV0LnUuUkdCQS5yZ2Jh LCAwLCAwLCBjb25maWcub3V0cHV0LndpZHRoLCBjb25maWcub3V0cHV0LmhlaWdodCk7CisgICAg aW1hZ2UtPmFkZE5vZGUobGF5ZXIuZGF0YSgpLCBpbWFnZS0+cm9vdExheWVyKCkuZGF0YSgpKTsK KworICAgIGRvY3VtZW50LT5zZXRDdXJyZW50SW1hZ2UoaW1hZ2UpOworICAgIFdlYlBGcmVlRGVj QnVmZmVyKCZjb25maWcub3V0cHV0KTsKKyAgICByZXR1cm4gSW1wb3J0RXhwb3J0Q29kZXM6Ok9L OworfQorCisjaW5jbHVkZSAia2lzX3dlYnBfaW1wb3J0Lm1vYyIKZGlmZiAtLWdpdCBhL3BsdWdp bnMvaW1wZXgvd2VicC9raXNfd2VicF9pbXBvcnQuaCBiL3BsdWdpbnMvaW1wZXgvd2VicC9raXNf d2VicF9pbXBvcnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi4wODli YjAxMTFlCi0tLSAvZGV2L251bGwKKysrIGIvcGx1Z2lucy9pbXBleC93ZWJwL2tpc193ZWJwX2lt cG9ydC5oCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiAgU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDog MjAyMSBMLiBFLiBTZWdvdmlhIDxhbXlAYW15c3BhcmsubWU+CisgKgorICogIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCisgKi8KKworI2lmbmRlZiBfS0lTX1dFQlBf SU1QT1JUX0hfCisjZGVmaW5lIF9LSVNfV0VCUF9JTVBPUlRfSF8KKworI2luY2x1ZGUgPFFTY29w ZWRQb2ludGVyPgorI2luY2x1ZGUgPFFWYXJpYW50PgorCisjaW5jbHVkZSA8S2lzSW1wb3J0RXhw b3J0RmlsdGVyLmg+CisjaW5jbHVkZSA8S29EaWFsb2cuaD4KKworI2luY2x1ZGUgImRsZ193ZWJw X2ltcG9ydC5oIgorCitjbGFzcyBLaXNXZWJQSW1wb3J0IDogcHVibGljIEtpc0ltcG9ydEV4cG9y dEZpbHRlcgoreworICAgIFFfT0JKRUNUCitwdWJsaWM6CisgICAgS2lzV2ViUEltcG9ydChRT2Jq ZWN0ICpwYXJlbnQsIGNvbnN0IFFWYXJpYW50TGlzdCAmKTsKKyAgICB+S2lzV2ViUEltcG9ydCgp IG92ZXJyaWRlOworCisgICAgS2lzSW1wb3J0RXhwb3J0RXJyb3JDb2RlIGNvbnZlcnQoS2lzRG9j dW1lbnQgKmRvY3VtZW50LCBRSU9EZXZpY2UgKmlvLCBLaXNQcm9wZXJ0aWVzQ29uZmlndXJhdGlv blNQIGNvbmZpZ3VyYXRpb24gPSAwKSBvdmVycmlkZTsKKyAgICBLaXNQcm9wZXJ0aWVzQ29uZmln dXJhdGlvblNQIGRlZmF1bHRDb25maWd1cmF0aW9uKGNvbnN0IFFCeXRlQXJyYXkgJmZyb20sIGNv bnN0IFFCeXRlQXJyYXkgJnRvKSBjb25zdCBvdmVycmlkZTsKKworcHJpdmF0ZToKKyAgICBRU2Nv cGVkUG9pbnRlcjxLaXNEbGdXZWJQSW1wb3J0PiBtX2RpYWxvZyB7bnVsbHB0cn07Cit9OworCisj ZW5kaWYgLy8gX0tJU19XRUJQX0lNUE9SVF9IXwpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9pbXBleC93 ZWJwL2tyaXRhX3dlYnAuZGVza3RvcCBiL3BsdWdpbnMvaW1wZXgvd2VicC9rcml0YV93ZWJwLmRl c2t0b3AKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMzgxYzg4YTM3OQot LS0gL2Rldi9udWxsCisrKyBiL3BsdWdpbnMvaW1wZXgvd2VicC9rcml0YV93ZWJwLmRlc2t0b3AK QEAgLTAsMCArMSw3MiBAQAorW0Rlc2t0b3AgRW50cnldCitOYW1lPUtyaXRhCitOYW1lW2FmXT1L cml0YQorTmFtZVthcl092YPYsdmK2KrYpworTmFtZVtiZ109S3JpdGEKK05hbWVbYnJdPUtyaXRh CitOYW1lW2JzXT1Lcml0YQorTmFtZVtjYV09S3JpdGEKK05hbWVbY2FAdmFsZW5jaWFdPUtyaXRh CitOYW1lW2NzXT1Lcml0YQorTmFtZVtjeV09S3JpdGEKK05hbWVbZGFdPUtyaXRhCitOYW1lW2Rl XT1Lcml0YQorTmFtZVtlbF09S3JpdGEKK05hbWVbZW5fR0JdPUtyaXRhCitOYW1lW2VvXT1Lcml0 YQorTmFtZVtlc109S3JpdGEKK05hbWVbZXRdPUtyaXRhCitOYW1lW2V1XT1Lcml0YQorTmFtZVtm aV09S3JpdGEKK05hbWVbZnJdPUtyaXRhCitOYW1lW2Z5XT1Lcml0YQorTmFtZVtnYV09S3JpdGEK K05hbWVbZ2xdPUtyaXRhCitOYW1lW2hlXT1Lcml0YQorTmFtZVtoaV094KSV4KWN4KSw4KS/4KSk 4KS+CitOYW1lW2huZV094KSV4KWH4KSw4KS/4KSk4KS+CitOYW1lW2hyXT1Lcml0YQorTmFtZVto dV09S3JpdGEKK05hbWVbaWFdPUtyaXRhCitOYW1lW2lzXT1Lcml0YQorTmFtZVtpdF09S3JpdGEK K05hbWVbamFdPUtyaXRhCitOYW1lW2trXT1Lcml0YQorTmFtZVtrb109S3JpdGEKK05hbWVbbHRd PUtyaXRhCitOYW1lW2x2XT1Lcml0YQorTmFtZVttcl094KSV4KWN4KSw4KS/4KSf4KS+CitOYW1l W21zXT1Lcml0YQorTmFtZVtuYl09S3JpdGEKK05hbWVbbmRzXT1Lcml0YQorTmFtZVtuZV094KSV 4KWN4KSw4KS/4KSk4KS+CitOYW1lW25sXT1Lcml0YQorTmFtZVtubl09S3JpdGEKK05hbWVbcGxd PUtyaXRhCitOYW1lW3B0XT1Lcml0YQorTmFtZVtwdF9CUl09S3JpdGEKK05hbWVbcm9dPUtyaXRh CitOYW1lW3J1XT1Lcml0YQorTmFtZVtzZV09S3JpdGEKK05hbWVbc2tdPUtyaXRhCitOYW1lW3Ns XT1Lcml0YQorTmFtZVtzdl09S3JpdGEKK05hbWVbdGFdPeCuleCuv+CusOCuv+Cun+CvjeCun+Cu vgorTmFtZVt0Z109S3JpdGEKK05hbWVbdHJdPUtyaXRhCitOYW1lW3VnXT1Lcml0YQorTmFtZVt1 a109S3JpdGEKK05hbWVbdXpdPUtyaXRhCitOYW1lW3V6QGN5cmlsbGljXT1Lcml0YQorTmFtZVt3 YV09S3JpdGEKK05hbWVbeGhdPUtyaXRhCitOYW1lW3gtdGVzdF09eHhLcml0YXh4CitOYW1lW3po X0NOXT1Lcml0YQorTmFtZVt6aF9UV109S3JpdGEKK0V4ZWM9a3JpdGEgJUYKK01pbWVUeXBlPWlt YWdlL3dlYnA7CitUeXBlPUFwcGxpY2F0aW9uCitJY29uPWtyaXRhCitDYXRlZ29yaWVzPVF0O0tE RTtPZmZpY2U7R3JhcGhpY3M7CitTdGFydHVwTm90aWZ5PXRydWUKK05vRGlzcGxheT10cnVlCmRp ZmYgLS1naXQgYS9wbHVnaW5zL2ltcGV4L3dlYnAva3JpdGFfd2VicF9leHBvcnQuanNvbiBiL3Bs dWdpbnMvaW1wZXgvd2VicC9rcml0YV93ZWJwX2V4cG9ydC5qc29uCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAuLjdiNzdmMWNkZTYKLS0tIC9kZXYvbnVsbAorKysgYi9wbHVn aW5zL2ltcGV4L3dlYnAva3JpdGFfd2VicF9leHBvcnQuanNvbgpAQCAtMCwwICsxLDEyIEBACit7 CisgICAgIklkIjogIktyaXRhIFdlYlAgRXhwb3J0IEZpbHRlciIsCisgICAgIk5vRGlzcGxheSI6 ICJ0cnVlIiwKKyAgICAiVHlwZSI6ICJTZXJ2aWNlIiwKKyAgICAiWC1LREUtRXhwb3J0IjogImlt YWdlL3dlYnAiLAorICAgICJYLUtERS1MaWJyYXJ5IjogImtyaXRhd2VicGV4cG9ydCIsCisgICAg IlgtS0RFLVNlcnZpY2VUeXBlcyI6IFsKKyAgICAgICAgIktyaXRhL0ZpbGVGaWx0ZXIiCisgICAg XSwKKyAgICAiWC1LREUtV2VpZ2h0IjogIjEiLAorICAgICJYLUtERS1FeHRlbnNpb25zIiA6ICJ3 ZWJwIgorfQpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9pbXBleC93ZWJwL2tyaXRhX3dlYnBfaW1wb3J0 Lmpzb24gYi9wbHVnaW5zL2ltcGV4L3dlYnAva3JpdGFfd2VicF9pbXBvcnQuanNvbgpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5hYzEyNjE3NWFmCi0tLSAvZGV2L251bGwK KysrIGIvcGx1Z2lucy9pbXBleC93ZWJwL2tyaXRhX3dlYnBfaW1wb3J0Lmpzb24KQEAgLTAsMCAr MSwxMiBAQAoreworICAgICJJZCI6ICJLcml0YSBXZWJQIEltcG9ydCBGaWx0ZXIiLAorICAgICJO b0Rpc3BsYXkiOiAidHJ1ZSIsCisgICAgIlR5cGUiOiAiU2VydmljZSIsCisgICAgIlgtS0RFLUlt cG9ydCI6ICJpbWFnZS93ZWJwIiwKKyAgICAiWC1LREUtTGlicmFyeSI6ICJrcml0YXdlYnBpbXBv cnQiLAorICAgICJYLUtERS1TZXJ2aWNlVHlwZXMiOiBbCisgICAgICAgICJLcml0YS9GaWxlRmls dGVyIgorICAgIF0sCisgICAgIlgtS0RFLVdlaWdodCI6ICIxIiwKKyAgICAiWC1LREUtRXh0ZW5z aW9ucyIgOiAid2VicCIKK30K